|
1 | | -name: Stable |
| 1 | +name: Build release |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | release: |
5 | 5 | types: [created, edited] |
6 | 6 |
|
7 | 7 | jobs: |
8 | | - |
9 | | -# Read the content of the files pharo-versions.json and moose-version.json. |
10 | | - get-versions: |
11 | | - runs-on: ubuntu-latest |
12 | | - outputs: |
13 | | - versions: ${{ steps.read-file.outputs.versions }} |
14 | | - steps: |
15 | | - - uses: actions/checkout@v4 |
16 | | - with: |
17 | | - ref: ${{ github.ref }} |
18 | | - - name: Read file |
19 | | - id: read-file |
20 | | - run: | |
21 | | - VERSIONS=$(cat $GITHUB_WORKSPACE/.github/workflows/versions.json) |
22 | | - echo "versions=$VERSIONS" >> $GITHUB_OUTPUT |
23 | | -
|
24 | | -
|
25 | | - build: |
26 | | - runs-on: ubuntu-latest |
27 | | - needs: get-versions |
28 | | - env: |
29 | | - PROJECT_NAME: ${{ fromJSON(needs.get-versions.outputs.versions).moose-name }} |
30 | | - strategy: |
31 | | - fail-fast: false |
32 | | - matrix: |
33 | | - smalltalk: ${{ fromJSON(needs.get-versions.outputs.versions).pharo-versions }} |
34 | | - name: ${{ matrix.smalltalk }} |
35 | | - steps: |
36 | | - - uses: actions/checkout@v4 |
37 | | - with: |
38 | | - fetch-depth: 0 # Option fetching all commits |
39 | | - - uses: hpi-swa/setup-smalltalkCI@v1 |
40 | | - with: |
41 | | - smalltalk-image: ${{ matrix.smalltalk }} |
42 | | - - run: smalltalkci -s ${{ matrix.smalltalk }} |
43 | | - shell: bash |
44 | | - timeout-minutes: 15 |
45 | | - |
46 | | - - name: set-version |
47 | | - run: | |
48 | | - ls -l $SMALLTALK_CI_VM |
49 | | - $SMALLTALK_CI_VM $SMALLTALK_CI_IMAGE eval --save "MooseVersion current commitHash: '$GITHUB_SHA'. (Smalltalk tools toolNamed: #mooseWelcome) closePharoWelcomeThenOpen" |
50 | | -
|
51 | | - - name: Package |
52 | | - run: | |
53 | | - mv /home/runner/.smalltalkCI/_builds/* . |
54 | | - mv TravisCI.image $PROJECT_NAME-${{ matrix.smalltalk }}.image |
55 | | - mv TravisCI.changes $PROJECT_NAME-${{ matrix.smalltalk }}.changes |
56 | | - echo ${${{ matrix.smalltalk }}} | sed -e 's/.*\-//g ; s/\..*//g ; s/$/0/' > pharo.version |
57 | | - # Remove every character before '-' ; Remove point and anything after it ; add a '0'. |
58 | | - # This pattern transforms as follow: 'Pharo64-9.0' --> '90' and 'Pharo64-10' --> '100'. |
59 | | - - name: Zip package |
60 | | - run: | |
61 | | - zip -r $PROJECT_NAME-${{ matrix.smalltalk }}.zip $PROJECT_NAME-${{ matrix.smalltalk }}.image $PROJECT_NAME-${{ matrix.smalltalk }}.changes *.sources pharo.version |
62 | | - ls |
63 | | -
|
64 | | - - name: Update release |
65 | | - uses: Xotl/cool-github-releases@v1 |
66 | | - with: |
67 | | - mode: update |
68 | | - replace_assets: true |
69 | | - tag_name: ${{ fromJSON(needs.get-versions.outputs.versions).release-tag }} |
70 | | - assets: ${{ env.PROJECT_NAME }}-${{ matrix.smalltalk }}.zip |
71 | | - github_token: ${{ secrets.GITHUB_TOKEN }} |
| 8 | + run-tests-and-update-release: |
| 9 | + name: Run tests and update release |
| 10 | + uses: moosetechnology/.github/.github/workflows/test-and-release.yml@main |
| 11 | + with: |
| 12 | + pre-upload-script: "MooseVersion current commitHash: '$GITHUB_SHA'. (Smalltalk tools toolNamed: #mooseWelcome) closePharoWelcomeThenOpen" |
| 13 | + release-tag: ${{ github.ref }} |
0 commit comments