|
1 | 1 | name: release |
2 | 2 | on: |
3 | 3 | push: |
4 | | - tags: |
5 | | - - '[0-9]+.[0-9]+.[0-9]+' |
6 | | - |
| 4 | + tags: |
| 5 | + - '[0-9]+.[0-9]+.[0-9]+' |
| 6 | + |
7 | 7 | jobs: |
8 | | - create-release: |
9 | | - name: create-release |
| 8 | + release: |
| 9 | + name: release |
10 | 10 | runs-on: ubuntu-latest |
11 | 11 | steps: |
12 | | - - name: Create artifacts directory |
13 | | - run: mkdir artifacts |
14 | | - |
15 | | - - name: Get the release version from the tag |
16 | | - if: env.ELTRAFICO_VERSION == '' |
17 | | - run: | |
18 | | - echo "ELTRAFICO_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV |
19 | | - echo "version is: ${{ env.ELTRAFICO_VERSION }}" |
20 | | -
|
21 | | - - name: Create GitHub release |
22 | | - id: release |
23 | | - uses: actions/create-release@v1 |
24 | | - env: |
25 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 12 | + - name: Checkout repository |
| 13 | + uses: actions/checkout@v4 |
26 | 14 | with: |
27 | | - tag_name: ${{ env.ELTRAFICO_VERSION }} |
28 | | - release_name: Release ${{ env.ELTRAFICO_VERSION }} |
| 15 | + fetch-depth: 1 |
29 | 16 |
|
30 | | - - name: Save release upload URL to artifact |
31 | | - run: echo "${{ steps.release.outputs.upload_url }}" > artifacts/release-upload-url |
32 | | - |
33 | | - - name: Save version number to artifact |
34 | | - run: echo "${{ env.ELTRAFICO_VERSION }}" > artifacts/release-version |
35 | | - |
36 | | - - name: Upload artifacts |
37 | | - uses: actions/upload-artifact@v1 |
| 17 | + - name: Install Rust |
| 18 | + uses: dtolnay/rust-toolchain@stable |
38 | 19 | with: |
39 | | - name: artifacts |
40 | | - path: artifacts |
41 | | - |
42 | | - build-release: |
43 | | - name: build-release |
44 | | - needs: ['create-release'] |
45 | | - runs-on: ubuntu-latest |
| 20 | + targets: x86_64-unknown-linux-musl |
46 | 21 |
|
47 | | - steps: |
48 | | - - name: Checkout repository |
49 | | - uses: actions/checkout@v2 |
50 | | - with: |
51 | | - fetch-depth: 1 |
52 | | - |
53 | | - - name: Install Rust |
54 | | - uses: actions-rs/toolchain@v1 |
55 | | - with: |
56 | | - toolchain: stable |
57 | | - profile: minimal |
58 | | - override: true |
59 | | - target: x86_64-unknown-linux-musl |
60 | | - |
61 | | - - name: Get release download URL |
62 | | - uses: actions/download-artifact@v1 |
63 | | - with: |
64 | | - name: artifacts |
65 | | - path: artifacts |
| 22 | + - name: Install gtk dependencies |
| 23 | + run: | |
| 24 | + sudo apt-get update |
| 25 | + sudo apt-get install libgtk-3-dev |
66 | 26 |
|
67 | | - - name: Set release upload URL and release version |
68 | | - shell: bash |
69 | | - run: | |
70 | | - release_upload_url="$(cat artifacts/release-upload-url)" |
71 | | - echo "RELEASE_UPLOAD_URL=$release_upload_url" >> $GITHUB_ENV |
72 | | - echo "release upload url: $RELEASE_UPLOAD_URL" |
73 | | - |
74 | | - - name: Donwload gtk dependencies |
75 | | - run: | |
76 | | - sudo apt-get update |
77 | | - sudo apt-get install libgtk-3-dev |
78 | | - |
79 | | - - name: Build release binary |
80 | | - run: | |
81 | | - cargo build --release |
| 27 | + - name: Build release binary |
| 28 | + run: cargo build --release |
82 | 29 |
|
83 | | - - name: Build archive |
84 | | - shell: bash |
85 | | - run: | |
86 | | - cp "target/release/gui" "target/release/eltrafico" |
87 | | - cp "target/release/eltrafico-tc" "target/release/eltrafico_tc" |
88 | | - tar cf "eltrafico.tar" "target/release/eltrafico" "target/release/eltrafico_tc" |
89 | | - echo "ASSET=eltrafico.tar" >> $GITHUB_ENV |
| 30 | + - name: Build archive |
| 31 | + shell: bash |
| 32 | + run: | |
| 33 | + cp "target/release/gui" "target/release/eltrafico" |
| 34 | + cp "target/release/eltrafico-tc" "target/release/eltrafico_tc" |
| 35 | + tar cf "eltrafico.tar" "target/release/eltrafico" "target/release/eltrafico_tc" |
90 | 36 |
|
91 | | - - name: Upload release archive |
92 | | - |
93 | | - env: |
94 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
95 | | - with: |
96 | | - upload_url: ${{ env.RELEASE_UPLOAD_URL }} |
97 | | - asset_path: ${{ env.ASSET }} |
98 | | - asset_name: ${{ env.ASSET }} |
99 | | - asset_content_type: application/octet-stream |
| 37 | + - name: Create GitHub release and upload asset |
| 38 | + uses: softprops/action-gh-release@v2 |
| 39 | + with: |
| 40 | + files: eltrafico.tar |
| 41 | + name: Release ${{ github.ref_name }} |
| 42 | + tag_name: ${{ github.ref_name }} |
0 commit comments