Skip to content

Commit b16f580

Browse files
committed
reverted to old design with should_publish variable introduced
1 parent de995c2 commit b16f580

File tree

3 files changed

+117
-94
lines changed

3 files changed

+117
-94
lines changed
Lines changed: 40 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,7 @@
11
name: Build and Publish
22

33
on:
4-
push:
5-
branches: [main]
6-
pull_request:
7-
branches: [main]
8-
release:
9-
types:
10-
- published
11-
workflow_dispatch:
4+
workflow_call:
125
inputs:
136
tag_name:
147
description: "Tag name"
@@ -20,138 +13,91 @@ on:
2013
type: boolean
2114

2215
jobs:
23-
check:
24-
name: Check
25-
runs-on: ubuntu-latest
26-
steps:
27-
- uses: actions/checkout@v4
28-
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
29-
with:
30-
toolchain: stable
31-
- run: cargo check
32-
33-
test:
34-
name: Test
35-
runs-on: ubuntu-latest
36-
steps:
37-
- uses: actions/checkout@v4
38-
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
39-
with:
40-
toolchain: stable
41-
- run: cargo test
42-
43-
fmt:
44-
name: Format
45-
runs-on: ubuntu-latest
46-
steps:
47-
- uses: actions/checkout@v4
48-
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
49-
with:
50-
toolchain: stable
51-
components: rustfmt
52-
- run: cargo fmt --all -- --check
53-
54-
clippy:
55-
name: Clippy
56-
runs-on: ubuntu-latest
57-
steps:
58-
- uses: actions/checkout@v4
59-
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
60-
with:
61-
toolchain: stable
62-
components: clippy
63-
- run: cargo clippy -- -D warnings
64-
6516
build-and-publish:
6617
name: Build and Publish
6718
runs-on: ${{ matrix.os }}
6819
strategy:
6920
matrix:
7021
include:
71-
- name: linux
22+
- name: x86_64-unknown-linux-gnu
7223
os: ubuntu-22.04 # Use oldest supported non-deprecated version so we link against older glibc version which allows running binary on a wider set of Linux systems
7324
path: target/x86_64-unknown-linux-gnu/release/function-runner
7425
asset_name: function-runner-x86_64-linux-${{ inputs.tag_name || github.event.release.tag_name }}
7526
shasum_cmd: sha256sum
76-
target: x86_64-unknown-linux-gnu
77-
- name: linux-arm64
27+
- name: aarch64-unknown-linux-gnu
7828
os: ubuntu-22.04 # Use oldest supported non-deprecated version so we link against older glibc version which allows running binary on a wider set of Linux systems
7929
path: target/aarch64-unknown-linux-gnu/release/function-runner
8030
asset_name: function-runner-arm-linux-${{ inputs.tag_name || github.event.release.tag_name }}
8131
shasum_cmd: sha256sum
82-
target: aarch64-unknown-linux-gnu
83-
- name: macos
32+
- name: x86_64-apple-darwin
8433
os: macos-latest
8534
path: target/x86_64-apple-darwin/release/function-runner
8635
asset_name: function-runner-x86_64-macos-${{ inputs.tag_name || github.event.release.tag_name }}
8736
shasum_cmd: shasum -a 256
88-
target: x86_64-apple-darwin
89-
- name: arm64-macos
37+
- name: aarch64-apple-darwin
9038
os: macos-latest
9139
path: target/aarch64-apple-darwin/release/function-runner
9240
asset_name: function-runner-arm-macos-${{ inputs.tag_name || github.event.release.tag_name }}
9341
shasum_cmd: shasum -a 256
94-
target: aarch64-apple-darwin
95-
- name: windows
42+
- name: x86_64-pc-windows-msvc
9643
os: windows-latest
9744
path: target\x86_64-pc-windows-msvc\release\function-runner.exe
9845
asset_name: function-runner-x86_64-windows-${{ inputs.tag_name || github.event.release.tag_name }}
9946
shasum_cmd: sha256sum
100-
target: x86_64-pc-windows-msvc
10147

10248
steps:
10349
- uses: actions/checkout@v4
10450

10551
- name: Install cross compiler
106-
if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
52+
if: ${{ matrix.name == 'aarch64-unknown-linux-gnu' }}
10753
run: |
10854
sudo apt-get update
10955
sudo apt-get install -y gcc-aarch64-linux-gnu
11056
11157
- name: Set up cross compiler env variables
112-
if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
58+
if: ${{ matrix.name == 'aarch64-unknown-linux-gnu' }}
11359
run: |
11460
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
11561
echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
11662
echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++" >> $GITHUB_ENV
11763
11864
# Should no-op except for macos-arm case where that target won't be installed
11965
- name: Install target
120-
run: rustup target add ${{ matrix.target }}
66+
run: rustup target add ${{ matrix.name }}
12167

122-
- name: Build ${{ matrix.target }}
123-
run: cargo build --release --target ${{ matrix.target }} --package function-runner
68+
- name: Build ${{ matrix.name }}
69+
run: cargo build --release --target ${{ matrix.name }} --package function-runner
12470

12571
- name: Archive assets
12672
if: ${{ inputs.should_publish }}
12773
run: gzip -k -f ${{ matrix.path }} && mv ${{ matrix.path }}.gz ${{ matrix.asset_name }}.gz
12874

129-
- name: Upload assets to artifacts
130-
if: ${{ inputs.should_publish }}
131-
uses: actions/upload-artifact@v4
132-
with:
133-
name: ${{ matrix.asset_name }}.gz
134-
path: ${{ matrix.asset_name }}.gz
135-
136-
- name: Upload assets to release
137-
if: ${{ inputs.should_publish }}
138-
env:
139-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
140-
run: gh release upload ${{ inputs.tag_name || github.event.release.tag_name }} ${{ matrix.asset_name }}.gz
141-
142-
- name: Generate asset hash
143-
if: ${{ inputs.should_publish }}
144-
run: ${{ matrix.shasum_cmd }} ${{ matrix.asset_name }}.gz | awk '{ print $1 }' > ${{ matrix.asset_name }}.gz.sha256
145-
146-
- name: Upload asset hash to artifacts
147-
if: ${{ inputs.should_publish }}
148-
uses: actions/upload-artifact@v4
149-
with:
150-
name: ${{ matrix.asset_name }}.gz.sha256
151-
path: ${{ matrix.asset_name }}.gz.sha256
152-
153-
- name: Upload asset hash to release
154-
if: ${{ inputs.should_publish }}
155-
env:
156-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
157-
run: gh release upload ${{ inputs.tag_name || github.event.release.tag_name }} ${{ matrix.asset_name }}.gz.sha256
75+
# - name: Upload assets to artifacts
76+
# if: ${{ inputs.should_publish }}
77+
# uses: actions/upload-artifact@v4
78+
# with:
79+
# name: ${{ matrix.asset_name }}.gz
80+
# path: ${{ matrix.asset_name }}.gz
81+
82+
# - name: Upload assets to release
83+
# if: ${{ inputs.should_publish }}
84+
# env:
85+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86+
# run: gh release upload ${{ inputs.tag_name || github.event.release.tag_name }} ${{ matrix.asset_name }}.gz
87+
88+
# - name: Generate asset hash
89+
# if: ${{ inputs.should_publish }}
90+
# run: ${{ matrix.shasum_cmd }} ${{ matrix.asset_name }}.gz | awk '{ print $1 }' > ${{ matrix.asset_name }}.gz.sha256
91+
92+
# - name: Upload asset hash to artifacts
93+
# if: ${{ inputs.should_publish }}
94+
# uses: actions/upload-artifact@v4
95+
# with:
96+
# name: ${{ matrix.asset_name }}.gz.sha256
97+
# path: ${{ matrix.asset_name }}.gz.sha256
98+
99+
# - name: Upload asset hash to release
100+
# if: ${{ inputs.should_publish }}
101+
# env:
102+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103+
# run: gh release upload ${{ inputs.tag_name || github.event.release.tag_name }} ${{ matrix.asset_name }}.gz.sha256

.github/workflows/publish.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Publish
2+
3+
on:
4+
release:
5+
types:
6+
- published
7+
workflow_dispatch:
8+
inputs:
9+
tag_name:
10+
description: "Tag name"
11+
required: true
12+
type: string
13+
14+
jobs:
15+
build-and-publish:
16+
uses: ./.github/workflows/build-and-publish.yml
17+
with:
18+
should_publish: true
19+
tag_name: ${{ github.event.release.tag_name }}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Rust
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
workflow_dispatch:
9+
10+
jobs:
11+
check:
12+
name: Check
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
17+
with:
18+
toolchain: stable
19+
- run: cargo check
20+
21+
test:
22+
name: Test
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
27+
with:
28+
toolchain: stable
29+
- run: cargo test
30+
31+
fmt:
32+
name: Format
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v4
36+
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
37+
with:
38+
toolchain: stable
39+
components: rustfmt
40+
- run: cargo fmt --all -- --check
41+
42+
clippy:
43+
name: Clippy
44+
runs-on: ubuntu-latest
45+
steps:
46+
- uses: actions/checkout@v4
47+
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
48+
with:
49+
toolchain: stable
50+
components: clippy
51+
- run: cargo clippy -- -D warnings
52+
53+
build:
54+
name: Build
55+
uses: ./.github/workflows/build-and-publish.yml
56+
with:
57+
should_publish: false
58+
tag_name: "standard-workflow"

0 commit comments

Comments
 (0)