Skip to content

Commit e6bad5e

Browse files
committed
Make artefacts in CI
1 parent 4788408 commit e6bad5e

File tree

2 files changed

+64
-3
lines changed

2 files changed

+64
-3
lines changed

.github/workflows/build.yml

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ jobs:
2727
run: |
2828
sudo apt-get -y install gcc-arm-none-eabi binutils-arm-none-eabi
2929
30+
- name: Find slug name
31+
run: |
32+
slug=$(./describe.sh "${GITHUB_REF}")
33+
echo "Building with slug '${slug}'"
34+
echo "slug=${slug}" >> "${GITHUB_ENV}"
35+
3036
- name: Build lib (native)
3137
run: |
3238
cargo build --verbose
@@ -37,12 +43,44 @@ jobs:
3743
3844
- name: Build samples (Cortex-M0+)
3945
run: |
40-
cd samples && ./build.sh thumbv6m-none-eabi
46+
cd samples
47+
./build.sh thumbv6m-none-eabi
48+
mv release release-thumbv6m-none-eabi
4149
4250
- name: Build samples (Cortex-M3)
4351
run: |
44-
cd samples && ./build.sh thumbv7m-none-eabi
52+
cd samples
53+
./build.sh thumbv7m-none-eabi
54+
mv release release-thumbv7m-none-eabi
4555
4656
- name: Build samples (Cortex-M4)
4757
run: |
48-
cd samples && ./build.sh thumbv7em-none-eabi
58+
cd samples
59+
./build.sh thumbv7em-none-eabi
60+
mv release release-thumbv7em-none-eabi
61+
62+
- name: Assemble Artifacts
63+
run: |
64+
echo "Making ./neotron-sdk-${{ env.slug }}..."
65+
mkdir -p ./neotron-sdk-${{ env.slug }}/samples
66+
mv ./samples/release-thumbv6m-none-eabi ./neotron-sdk-${{ env.slug }}/samples/thumbv6m-none-eabi
67+
mv ./samples/release-thumbv7m-none-eabi ./neotron-sdk-${{ env.slug }}/samples/thumbv7m-none-eabi
68+
mv ./samples/release-thumbv7em-none-eabi ./neotron-sdk-${{ env.slug }}/samples/thumbv7em-none-eabi
69+
echo "Compressing ./neotron-sdk-${{ env.slug }}.zip..."
70+
zip -r ./neotron-sdk-${{ env.slug }}.zip ./neotron-sdk-${{ env.slug }}
71+
72+
- name: Upload Artifacts
73+
uses: actions/upload-artifact@v3
74+
if: ${{success()}}
75+
with:
76+
name: Artifacts
77+
if-no-files-found: error
78+
path: |
79+
./neotron-sdk-*/
80+
81+
- name: Create and Upload Release
82+
if: github.event_name == 'push' && startswith(github.ref, 'refs/tags/')
83+
id: create_release
84+
uses: ncipollo/release-action@v1
85+
with:
86+
artifacts: ./neotron-sdk-${{ env.slug }}.zip

describe.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
3+
# Copyright (c) Ferrous Systems, 2023
4+
#
5+
# This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
6+
7+
set -euo pipefail
8+
9+
GIVEN_REF=$1
10+
11+
case "${GIVEN_REF}" in
12+
refs/heads/*)
13+
slug="$(git branch --show)-$(git rev-parse --short HEAD)"
14+
;;
15+
refs/tags/*)
16+
slug="$(echo "${GIVEN_REF}" | awk '{split($0,a,"/"); print a[3]}')"
17+
;;
18+
refs/pull/*/merge)
19+
slug="pr-$(echo "${GIVEN_REF}" | awk '{split($0,a,"/"); print a[3]}')-$(git rev-parse --short HEAD)"
20+
;;
21+
esac
22+
23+
echo "${slug}"

0 commit comments

Comments
 (0)