Skip to content

Commit c2d3728

Browse files
committed
Added Github Action supports for ARMv5 and ARMv7.
1 parent 21c6f40 commit c2d3728

File tree

3 files changed

+37
-17
lines changed

3 files changed

+37
-17
lines changed

.github/build/build_info.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"linux": {
3+
"386": {"arch": "i686", "name": "linux-32"},
4+
"amd64": {"arch": "x86_64", "name": "linux-64"},
5+
"arm5": {"arch": "arm", "abi": "eabi", "name": "linux-arm32-v5"},
6+
"arm7": {"arch": "armv7l", "abi": "eabihf", "name": "linux-arm32-v7a"},
7+
"arm64": {"arch": "aarch64", "name": "linux-arm64-v8a"}
8+
},
9+
"darwin": {
10+
"amd64": {"arch": "o64", "name": "macos-64"},
11+
"arm64": {"arch": "oa64", "name": "macos-arm64-v8a"}
12+
}
13+
}

.github/build/compiler_arch.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

.github/workflows/build.yml

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,20 @@ jobs:
8484
# Exclude i386 on darwin.
8585
- goarch: 386
8686
goos: darwin
87+
include:
88+
# BEGIN Linux ARM 5 7
89+
- goos: linux
90+
goarch: arm
91+
goarm: 7
92+
- goos: linux
93+
goarch: arm
94+
goarm: 5
95+
# END Linux ARM 5 7
8796
env:
8897
CGO_ENABLED: 1
8998
GOOS: ${{ matrix.goos }}
9099
GOARCH: ${{ matrix.goarch }}
91-
DIST: nginx-ui-${{ matrix.GOOS }}-${{ matrix.GOARCH }}
92-
outputs:
93-
dist: ${{ env.DIST }}
100+
GOARM: ${{ matrix.goarm }}
94101
steps:
95102
- name: Checkout
96103
uses: actions/checkout@v2
@@ -106,29 +113,34 @@ jobs:
106113
path: |
107114
~/.cache/go-build
108115
~/go/pkg/mod
109-
key: ${{ runner.os }}-${{ env.GOOS }}-${{ env.GOARCH }}-go-${{ hashFiles('**/go.sum') }}
116+
key: ${{ runner.os }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}-go-${{ hashFiles('**/go.sum') }}
110117
restore-keys: |
111-
${{ runner.os }}-${{ env.GOOS }}-${{ env.GOARCH }}-go-
118+
${{ runner.os }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}-go-
112119
113120
- name: Setup compiler environment
114121
id: info
115122
run: |
116-
export _ARCH=$(jq ".[\"$GOARCH\"].$GOOS" -r < .github/build/compiler_arch.json)
117-
echo "::set-output name=ARCH_NAME::$_ARCH"
123+
export _NAME=nginx-ui-$(jq ".$GOOS[\"$GOARCH$GOARM\"].name" -r < .github/build/build_info.json)
124+
export _ARCH=$(jq ".$GOOS[\"$GOARCH$GOARM\"].arch" -r < .github/build/build_info.json)
125+
export _ABI=$(jq ".$GOOS[\"$GOARCH$GOARM\"].abi // \"\"" -r < .github/build/build_info.json)
126+
echo "GOOS: $GOOS, GOARCH: $GOARCH, GOARM: $GOARM, ABI: $_ABI, RELEASE_NAME: $_NAME"
127+
echo "ARCH_NAME=$_ARCH" >> $GITHUB_ENV
128+
echo "ABI=$_ABI" >> $GITHUB_ENV
129+
echo "DIST=$_NAME" >> $GITHUB_ENV
118130
119131
- name: Install musl cross compiler
120132
if: env.GOOS == 'linux'
121133
uses: Lesmiscore/[email protected]
122134
id: musl
123135
with:
124-
target: ${{ steps.info.outputs.ARCH_NAME }}-linux-musl
136+
target: ${{ env.ARCH_NAME }}-linux-musl${{ env.ABI }}
125137

126138
- name: Post install musl cross compiler
127139
if: env.GOOS == 'linux'
128140
run: |
129141
echo "PATH=${{ steps.musl.outputs.path }}:$PATH" >> $GITHUB_ENV
130-
echo "CC=${{ steps.info.outputs.ARCH_NAME }}-linux-musl-gcc" >> $GITHUB_ENV
131-
echo "CXX=${{ steps.info.outputs.ARCH_NAME }}-linux-musl-g++" >> $GITHUB_ENV
142+
echo "CC=${{ env.ARCH_NAME }}-linux-musl${{ env.ABI }}-gcc" >> $GITHUB_ENV
143+
echo "CXX=${{ env.ARCH_NAME }}-linux-musl${{ env.ABI }}-g++" >> $GITHUB_ENV
132144
echo "LD_FLAGS=--extldflags '-static'" >> $GITHUB_ENV
133145
134146
- name: Install darwin cross compiler
@@ -138,8 +150,8 @@ jobs:
138150
tar xvaf crossosx.tar.zst
139151
echo "LD_LIBRARY_PATH=$(pwd)/crossosx/lib/" >> $GITHUB_ENV
140152
echo "PATH=$(pwd)/crossosx/bin/:$PATH" >> $GITHUB_ENV
141-
echo "CC=${{ steps.info.outputs.ARCH_NAME }}-clang" >> $GITHUB_ENV
142-
echo "CXX=${{ steps.info.outputs.ARCH_NAME }}-clang++" >> $GITHUB_ENV
153+
echo "CC=${{ env.ARCH_NAME }}-clang" >> $GITHUB_ENV
154+
echo "CXX=${{ env.ARCH_NAME }}-clang++" >> $GITHUB_ENV
143155
echo "LD_FLAGS=-s -w" >> $GITHUB_ENV
144156
145157
- name: Download frontend artifacts

0 commit comments

Comments
 (0)