.github/workflows/prep_sources.yml
author Edouard Tisserant <edouard.tisserant@gmail.com>
Thu, 05 Oct 2023 13:16:35 +0200
changeset 122 ef1c44f741e3
parent 121 9dd76a5bbc2a
child 123 032aaa29f498
permissions -rw-r--r--
Always cache docker image + default windows target
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     1
name: Prepare sources
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     2
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     3
on:
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     4
  workflow_call:
96
52b64ebc1970 GH CD: seems that reusable workflow outputs can't make their way through.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 95
diff changeset
     5
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     6
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     7
jobs:
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     8
  get_sources:
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     9
    runs-on: ubuntu-latest
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    10
76
1ed6c9812863 GH CI : adapt to workflow syntax restrictions
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 73
diff changeset
    11
    env:
121
9dd76a5bbc2a Upgrade revisions used for GitHub build
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 119
diff changeset
    12
        beremiz_revisionid: 0189295a9c03fb29797ee174915057061e737603
9dd76a5bbc2a Upgrade revisions used for GitHub build
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 119
diff changeset
    13
        matiec_revisionid: e5be6a1f036d21cd7b5ee75ef352783a7cfcc1a7
76
1ed6c9812863 GH CI : adapt to workflow syntax restrictions
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 73
diff changeset
    14
        canfestival_revisionid: 12a05e422666c738d1312259703f80150c747cb5
121
9dd76a5bbc2a Upgrade revisions used for GitHub build
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 119
diff changeset
    15
        Modbus_revisionid: 4d7d67a8e911d744165709c20a254b5cb924ec71
9dd76a5bbc2a Upgrade revisions used for GitHub build
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 119
diff changeset
    16
        open62541_revisionid: b8ac9e77f703e6ba5c012b886a8821037503daa6
76
1ed6c9812863 GH CI : adapt to workflow syntax restrictions
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 73
diff changeset
    17
1ed6c9812863 GH CI : adapt to workflow syntax restrictions
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 73
diff changeset
    18
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    19
    steps:
99
0623d6d4616b GH CD: chechout all projects, even self from prep_sources.yml so that revisions.txt is not too old for Makefile.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 98
diff changeset
    20
    - uses: actions/checkout@v3
0623d6d4616b GH CD: chechout all projects, even self from prep_sources.yml so that revisions.txt is not too old for Makefile.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 98
diff changeset
    21
      with:
0623d6d4616b GH CD: chechout all projects, even self from prep_sources.yml so that revisions.txt is not too old for Makefile.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 98
diff changeset
    22
          path: beremiz_public_dist
0623d6d4616b GH CD: chechout all projects, even self from prep_sources.yml so that revisions.txt is not too old for Makefile.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 98
diff changeset
    23
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    24
    # repositories are directly checked out where Makerfile expects them to be
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    25
    - uses: actions/checkout@v3
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    26
      with:
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    27
          repository: beremiz/beremiz
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    28
          ref: ${{ env.beremiz_revisionid }}
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    29
          path: build/sources/beremiz
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    30
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    31
    - uses: actions/checkout@v3
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    32
      with:
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    33
          repository: beremiz/matiec
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    34
          ref: ${{ env.matiec_revisionid }}
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    35
          path: build/sources/matiec
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    36
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    37
    - uses: actions/checkout@v3
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    38
      with:
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    39
          repository: beremiz/canfestival
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    40
          ref: ${{ env.canfestival_revisionid }}
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    41
          path: build/sources/canfestival
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    42
84
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    43
    - uses: actions/checkout@v3
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    44
      with:
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    45
          repository: beremiz/Modbus
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    46
          ref: ${{ env.Modbus_revisionid }}
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    47
          path: build/sources/Modbus
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    48
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    49
    - uses: actions/checkout@v3
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    50
      with:
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    51
          repository: open62541/open62541
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    52
          ref: ${{ env.open62541_revisionid }}
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    53
          path: build/sources/open62541
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    54
96
52b64ebc1970 GH CD: seems that reusable workflow outputs can't make their way through.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 95
diff changeset
    55
    - name: Keep Makfile satisfied and generate revisions.txt
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    56
      run: |
96
52b64ebc1970 GH CD: seems that reusable workflow outputs can't make their way through.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 95
diff changeset
    57
        touch build/sources/beremiz_stamp
52b64ebc1970 GH CD: seems that reusable workflow outputs can't make their way through.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 95
diff changeset
    58
        touch build/sources/matiec_stamp
52b64ebc1970 GH CD: seems that reusable workflow outputs can't make their way through.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 95
diff changeset
    59
        touch build/sources/canfestival_stamp
52b64ebc1970 GH CD: seems that reusable workflow outputs can't make their way through.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 95
diff changeset
    60
        touch build/sources/Modbus_stamp
52b64ebc1970 GH CD: seems that reusable workflow outputs can't make their way through.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 95
diff changeset
    61
        touch build/sources/open62541_stamp
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    62
        touch build/sources/beremiz_src
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    63
        touch build/sources/matiec_src
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    64
        touch build/sources/canfestival_src
84
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    65
        touch build/sources/Modbus_src
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    66
        touch build/sources/open62541_src
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    67
        touch build/own_sources
98
54c0e2662dd3 revisions.txt is expected in $CWD When building Windows installer, in $CWD/sources for Snap. Deal with it for now.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 97
diff changeset
    68
        cat >> build/revisions.txt <<EOF
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    69
        beremiz_public_dist ${{ github.sha }}
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    70
        beremiz ${{ env.beremiz_revisionid }}
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    71
        matiec ${{ env.matiec_revisionid }}
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    72
        canfestival ${{ env.canfestival_revisionid }}
84
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    73
        Modbus ${{ env.Modbus_revisionid }}
8e01f3bb59df GH CD: Add Modbus and open62541 sources.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 77
diff changeset
    74
        open62541 ${{ env.open62541_revisionid }}
68
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    75
        EOF
8eb533b797be GH action : split workflows for later re-use of source provisioning.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    76
97
4dd65c75e651 GH CD: Seriously ? https://github.com/actions/upload-artifact#maintaining-file-permissions-and-case-sensitive-files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 96
diff changeset
    77
    - name: Tar files
99
0623d6d4616b GH CD: chechout all projects, even self from prep_sources.yml so that revisions.txt is not too old for Makefile.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 98
diff changeset
    78
      run: tar -cvf sources.tar .
97
4dd65c75e651 GH CD: Seriously ? https://github.com/actions/upload-artifact#maintaining-file-permissions-and-case-sensitive-files
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 96
diff changeset
    79
77
2f3d1cd0bd64 GH CI : use artifacts to get data flowing from one workflow to the other
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 76
diff changeset
    80
    - name: Upload source artifact
2f3d1cd0bd64 GH CI : use artifacts to get data flowing from one workflow to the other
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 76
diff changeset
    81
      uses: actions/upload-artifact@v3
2f3d1cd0bd64 GH CI : use artifacts to get data flowing from one workflow to the other
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 76
diff changeset
    82
      with:
2f3d1cd0bd64 GH CI : use artifacts to get data flowing from one workflow to the other
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 76
diff changeset
    83
        name: source_package
99
0623d6d4616b GH CD: chechout all projects, even self from prep_sources.yml so that revisions.txt is not too old for Makefile.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 98
diff changeset
    84
        path: sources.tar