-
Notifications
You must be signed in to change notification settings - Fork 19
85 lines (71 loc) · 3.02 KB
/
built_release_from_docker.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: Build and Release SDKs
# Trigger the workflow when pushing tags that match the pattern "v*"
on:
push:
tags:
- "v*"
# Set the global GitHub token environment variable
env:
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
jobs:
build:
name: Compile and Package SDKs
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git submodule sync --recursive # Ensure submodule paths are up-to-date
git submodule update --init --recursive # Initialize and update all submodules
# Step 3: Extract the version number from the tag (e.g., "v1.2.3" becomes "1.2.3")
- name: Extract Version Number
id: extract_version
run: echo "VERSION=$(echo ${GITHUB_REF#refs/tags/} | sed 's/^v//')" >> $GITHUB_ENV
# Step 4: Build projects using Docker Compose
- name: Build SDKs with Docker Compose
run: |
docker-compose up
ls build
# Step 5: Zip each SDK directory with the version number
- name: Zip SDK Files
run: |
zip -r inspireface-linux-armv7-armhf-${{ env.VERSION }}.zip build/inspireface-linux-armv7-armhf-${{ env.VERSION }}/
zip -r inspireface-linux-armv7-rv1109rv1126-armhf-${{ env.VERSION }}.zip build/inspireface-linux-armv7-rv1109rv1126-armhf-${{ env.VERSION }}/
zip -r inspireface-linux-x86-ubuntu18-${{ env.VERSION }}.zip build/inspireface-linux-x86-ubuntu18-${{ env.VERSION }}/
# Step 6: Upload the zipped SDK files for the next job
- name: Upload SDK Artifacts
uses: actions/upload-artifact@v2
with:
name: sdk_files
path: |
inspireface-linux-armv7-armhf-${{ env.VERSION }}.zip
inspireface-linux-armv7-rv1109rv1126-armhf-${{ env.VERSION }}.zip
inspireface-linux-x86-ubuntu18-${{ env.VERSION }}.zip
release:
name: Release SDKs to GitHub
needs: build
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository again
- name: Checkout Repository
uses: actions/checkout@v2
# Step 2: Download the previously uploaded SDK files
- name: Download SDK Artifacts
uses: actions/download-artifact@v2
with:
name: sdk_files
# Step 3: Extract the version number from the tag (e.g., "v1.2.3" becomes "1.2.3")
- name: Extract Version Number
id: extract_version
run: echo "VERSION=$(echo ${GITHUB_REF#refs/tags/} | sed 's/^v//')" >> $GITHUB_ENV
# Step 4: Create a GitHub Release and upload SDK files with the version number
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
files: |
inspireface-linux-armv7-armhf-${{ env.VERSION }}.zip
inspireface-linux-armv7-rv1109rv1126-armhf-${{ env.VERSION }}.zip
inspireface-linux-x86-ubuntu18-${{ env.VERSION }}.zip