44 push :
55 branches :
66 - release/**
7+ pull_request :
78
89env :
910 CARGO_TERM_COLOR : always
@@ -13,14 +14,37 @@ jobs:
1314 linux :
1415 name : Linux
1516 runs-on : ubuntu-22.04
17+ container :
18+ image : ubuntu:20.04
1619
1720 steps :
21+ - name : Install dependencies
22+ run : |
23+ apt-get update
24+ apt-get install -y --no-install-recommends git ca-certificates gcc libc6-dev curl make
25+
1826 - uses : actions/checkout@v4
1927 with :
2028 submodules : recursive
2129
30+ - run : |
31+ pwd
32+ echo "============"
33+ ls -al /
34+ echo "============"
35+ ls -al .
36+ echo "============"
37+ ls -al /__w/
38+ echo "============"
39+ ls -al /__w/relay/
40+ echo "============"
41+ ls -al /__w/relay/relay/
42+ echo "============"
43+
2244 - name : Install Rust Toolchain
23- run : rustup toolchain install stable --profile minimal --no-self-update
45+ run : |
46+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --profile minimal --default-toolchain stable -y
47+ . "$HOME/.cargo/env"
2448
2549 - name : Build binary
2650 run : |
@@ -42,111 +66,111 @@ jobs:
4266 # since this artifact will be merged, compression is not necessary
4367 compression-level : ' 0'
4468
45- linux-aarch64 :
46- name : Linux Aarch64
47- runs-on : ubuntu-22.04-arm
48-
49- steps :
50- - uses : actions/checkout@v4
51- with :
52- submodules : recursive
53-
54- - name : Install Rust Toolchain
55- run : rustup toolchain install stable --profile minimal --no-self-update
56-
57- - name : Build binary
58- run : |
59- make build-linux-release
60- env :
61- RELAY_FEATURES :
62-
63- - name : Bundle Debug File
64- run : |
65- cd target/release/
66- zip relay-Linux-aarch64-debug.zip relay.debug
67- mv relay relay-Linux-aarch64
68-
69- - uses : actions/upload-artifact@v4
70- with :
71- name : artifact-linux-aarch64
72- path : target/release/relay-Linux-aarch64*
73- if-no-files-found : ' error'
74- # since this artifact will be merged, compression is not necessary
75- compression-level : ' 0'
76-
77- macos :
78- name : macOS
79- runs-on : macos-14
80-
81- steps :
82- - uses : actions/checkout@v4
83- with :
84- submodules : recursive
85-
86- - name : Install Rust Toolchain
87- run : rustup toolchain install stable --profile minimal --no-self-update
88-
89- - name : Run Cargo Build
90- run : cargo build --manifest-path=relay/Cargo.toml --release
91- env :
92- CARGO_PROFILE_RELEASE_SPLIT_DEBUGINFO : packed
93-
94- - name : Bundle dSYM
95- run : |
96- cd target/release
97- mv relay relay-Darwin-x86_64
98- zip -r relay-Darwin-x86_64-dsym.zip relay.dSYM
99-
100- - uses : actions/upload-artifact@v4
101- with :
102- name : artifact-macos
103- path : target/release/relay-Darwin-x86_64*
104- if-no-files-found : ' error'
105- # since this artifact will be merged, compression is not necessary
106- compression-level : ' 0'
107-
108- windows :
109- name : Windows
110- runs-on : windows-2019
111-
112- steps :
113- - uses : actions/checkout@v4
114- with :
115- submodules : recursive
116-
117- - name : Install Rust Toolchain
118- run : rustup toolchain install stable --profile minimal --no-self-update
119-
120- - name : Run Cargo Build
121- run : cargo build --manifest-path=relay/Cargo.toml --release
122-
123- - name : Bundle PDB
124- run : |
125- Install-Module 7Zip4PowerShell -Force -Verbose
126- cd target/release
127- 7z a relay-Windows-x86_64-pdb.zip relay.pdb
128- mv relay.exe relay-Windows-x86_64.exe
129-
130- - uses : actions/upload-artifact@v4
131- with :
132- name : artifact-windows
133- path : target/release/relay-Windows-x86_64*
134- if-no-files-found : ' error'
135- # since this artifact will be merged, compression is not necessary
136- compression-level : ' 0'
137-
138- merge :
139- name : Create Release Artifact
140- runs-on : ubuntu-latest
141- needs : [linux, linux-aarch64, macos, windows]
142- steps :
143- # Note: due to the immutability of artifacts in upload-artifact v4,
144- # there cannot be mutliple upload-artifacts with the same name, in a sha's workflow runs.
145- # However in this case it is fine because this only runs on release/** branches,
146- # and the other runs on release-library/** branches.
147- - uses : actions/upload-artifact/merge@v4
148- with :
149- # Craft expects release assets to be a single artifact named after the sha.
150- name : ${{ github.sha }}
151- pattern : artifact-*
152- delete-merged : true
69+ # linux-aarch64:
70+ # name: Linux Aarch64
71+ # runs-on: ubuntu-22.04-arm
72+ #
73+ # steps:
74+ # - uses: actions/checkout@v4
75+ # with:
76+ # submodules: recursive
77+ #
78+ # - name: Install Rust Toolchain
79+ # run: rustup toolchain install stable --profile minimal --no-self-update
80+ #
81+ # - name: Build binary
82+ # run: |
83+ # make build-linux-release
84+ # env:
85+ # RELAY_FEATURES:
86+ #
87+ # - name: Bundle Debug File
88+ # run: |
89+ # cd target/release/
90+ # zip relay-Linux-aarch64-debug.zip relay.debug
91+ # mv relay relay-Linux-aarch64
92+ #
93+ # - uses: actions/upload-artifact@v4
94+ # with:
95+ # name: artifact-linux-aarch64
96+ # path: target/release/relay-Linux-aarch64*
97+ # if-no-files-found: 'error'
98+ # # since this artifact will be merged, compression is not necessary
99+ # compression-level: '0'
100+ #
101+ # macos:
102+ # name: macOS
103+ # runs-on: macos-14
104+ #
105+ # steps:
106+ # - uses: actions/checkout@v4
107+ # with:
108+ # submodules: recursive
109+ #
110+ # - name: Install Rust Toolchain
111+ # run: rustup toolchain install stable --profile minimal --no-self-update
112+ #
113+ # - name: Run Cargo Build
114+ # run: cargo build --manifest-path=relay/Cargo.toml --release
115+ # env:
116+ # CARGO_PROFILE_RELEASE_SPLIT_DEBUGINFO: packed
117+ #
118+ # - name: Bundle dSYM
119+ # run: |
120+ # cd target/release
121+ # mv relay relay-Darwin-x86_64
122+ # zip -r relay-Darwin-x86_64-dsym.zip relay.dSYM
123+ #
124+ # - uses: actions/upload-artifact@v4
125+ # with:
126+ # name: artifact-macos
127+ # path: target/release/relay-Darwin-x86_64*
128+ # if-no-files-found: 'error'
129+ # # since this artifact will be merged, compression is not necessary
130+ # compression-level: '0'
131+ #
132+ # windows:
133+ # name: Windows
134+ # runs-on: windows-2019
135+ #
136+ # steps:
137+ # - uses: actions/checkout@v4
138+ # with:
139+ # submodules: recursive
140+ #
141+ # - name: Install Rust Toolchain
142+ # run: rustup toolchain install stable --profile minimal --no-self-update
143+ #
144+ # - name: Run Cargo Build
145+ # run: cargo build --manifest-path=relay/Cargo.toml --release
146+ #
147+ # - name: Bundle PDB
148+ # run: |
149+ # Install-Module 7Zip4PowerShell -Force -Verbose
150+ # cd target/release
151+ # 7z a relay-Windows-x86_64-pdb.zip relay.pdb
152+ # mv relay.exe relay-Windows-x86_64.exe
153+ #
154+ # - uses: actions/upload-artifact@v4
155+ # with:
156+ # name: artifact-windows
157+ # path: target/release/relay-Windows-x86_64*
158+ # if-no-files-found: 'error'
159+ # # since this artifact will be merged, compression is not necessary
160+ # compression-level: '0'
161+ #
162+ # merge:
163+ # name: Create Release Artifact
164+ # runs-on: ubuntu-latest
165+ # needs: [linux, linux-aarch64, macos, windows]
166+ # steps:
167+ # # Note: due to the immutability of artifacts in upload-artifact v4,
168+ # # there cannot be mutliple upload-artifacts with the same name, in a sha's workflow runs.
169+ # # However in this case it is fine because this only runs on release/** branches,
170+ # # and the other runs on release-library/** branches.
171+ # - uses: actions/upload-artifact/merge@v4
172+ # with:
173+ # # Craft expects release assets to be a single artifact named after the sha.
174+ # name: ${{ github.sha }}
175+ # pattern: artifact-*
176+ # delete-merged: true
0 commit comments