feat: Add arm64 unit test, and Creating arm64 binaries #262 (#263) #399
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: test | |
"on": | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- README* | |
- LICENSE | |
pull_request: | |
paths-ignore: | |
- README* | |
- LICENSE | |
env: | |
goversion: '1.21' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
go: | |
- '1.17' | |
- '1.18' | |
- '1.x' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go }} | |
- run: go build | |
- run: go install | |
- run: go test -cover ./... | |
build-arm64: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
go: | |
- '1.x' | |
os: | |
- 'linux' | |
- 'darwin' | |
- 'windows' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go }} | |
# if use CGO_ENABLED=1 then use this code. | |
# | |
# - run: sudo apt-get install -y gcc-aarch64-linux-gnu | |
# - run: GOOS=${{ matrix.os }} GOARCH=arm64 CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc go build -o textimg_${{ matrix.os }}_arm64 | |
- run: GOOS=${{ matrix.os }} GOARCH=arm64 go build -o textimg_${{ matrix.os }}_arm64 | |
- run: gzip textimg_${{ matrix.os }}_arm64 | |
- name: Upload artifact (windows) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: textimg_${{ matrix.os }}_arm64.gz | |
path: textimg_${{ matrix.os }}_arm64.gz | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.goversion }} | |
- name: Check code format | |
run: | | |
go mod download | |
count="$(go fmt ./... | wc -l)" | |
if [[ "$count" -ne 0 ]]; then | |
echo "[ERR] 'go fmt ./...' してください" >&2 | |
exit 1 | |
fi | |
docker-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Tests | |
run: | | |
make docker-build | |
make docker-test | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.goversion }} | |
- name: Lint | |
run: go vet . | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.goversion }} | |
- run: go test -coverprofile=coverage.out ./... | |
- uses: codecov/codecov-action@v4 |