.github/workflows/build_snap.yml
author Edouard Tisserant <edouard.tisserant@gmail.com>
Sat, 13 Aug 2022 23:18:01 +0200
changeset 94 6d390b2623f5
parent 93 b1f29a911785
child 97 4dd65c75e651
permissions -rw-r--r--
re-starting xvfb-run too fast makes problems. Trying with -a
80
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     1
name: Build Snap
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     2
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     3
on:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     4
  workflow_dispatch:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     5
  # push:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     6
  #   branches: [ default ]
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     7
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     8
jobs:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     9
  sources:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    10
    uses: ./.github/workflows/prep_sources.yml
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    11
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    12
  build:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    13
    needs: sources
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    14
    runs-on: ubuntu-latest
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    15
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    16
    steps:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    17
    - uses: actions/checkout@v3
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    18
      with:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    19
        # checkout directly in build/sources so that
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    20
        # sources dirs are aside snap dir
90
ab4e99dc80cb GH CD: Merge sources and snap dir instead of just giving checkout and artfifact download the same path
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 88
diff changeset
    21
        path: beremiz_public_dist
80
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    22
88
58cff3acaf3d GH CD: attempt to preserve content of build/source by swapping checkout and artifact download steps.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 80
diff changeset
    23
    - name: Download source artifact
58cff3acaf3d GH CD: attempt to preserve content of build/source by swapping checkout and artifact download steps.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 80
diff changeset
    24
      uses: actions/download-artifact@v3
58cff3acaf3d GH CD: attempt to preserve content of build/source by swapping checkout and artifact download steps.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 80
diff changeset
    25
      with:
58cff3acaf3d GH CD: attempt to preserve content of build/source by swapping checkout and artifact download steps.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 80
diff changeset
    26
        name: source_package
93
b1f29a911785 GH CD: fix artifact decompaction path
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 92
diff changeset
    27
        path: build
88
58cff3acaf3d GH CD: attempt to preserve content of build/source by swapping checkout and artifact download steps.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 80
diff changeset
    28
90
ab4e99dc80cb GH CD: Merge sources and snap dir instead of just giving checkout and artfifact download the same path
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 88
diff changeset
    29
    - name: Move snap dir in build/sources
ab4e99dc80cb GH CD: Merge sources and snap dir instead of just giving checkout and artfifact download the same path
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 88
diff changeset
    30
      run: |
92
eb3e1cdc7389 GH CD: try to see content of workdir.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 90
diff changeset
    31
        ls -R
90
ab4e99dc80cb GH CD: Merge sources and snap dir instead of just giving checkout and artfifact download the same path
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 88
diff changeset
    32
        mv beremiz_public_dist/snap build/sources
ab4e99dc80cb GH CD: Merge sources and snap dir instead of just giving checkout and artfifact download the same path
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 88
diff changeset
    33
        ls build/sources
ab4e99dc80cb GH CD: Merge sources and snap dir instead of just giving checkout and artfifact download the same path
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 88
diff changeset
    34
80
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    35
    - name: Invoke snapcraft build
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    36
      uses: snapcore/action-build@v1
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    37
      id: snapcraft
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    38
      with:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    39
        path: build/sources
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    40
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    41
    - name: Upload built artifact
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    42
      uses: actions/upload-artifact@v3
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    43
      with:
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    44
        name: snap
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    45
        path: ${{ steps.snapcraft.outputs.snap }}
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    46
1088ce57d3c9 Add (untested) snapcraft workflow for GitHub action. Add documentation about manual snapcraft invokation.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    47