switch to smallstep/pkcs7 (#88) #13
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
on: | |
push: | |
branches: [main] | |
tags: ["v*.*.*"] | |
pull_request: | |
types: [opened, reopened, synchronize] | |
jobs: | |
format-build-test: | |
strategy: | |
matrix: | |
go-version: ['1.19.x', '1.21.x'] | |
platform: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- if: matrix.platform == 'ubuntu-latest' | |
run: if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi | |
- run: go build -v ./... | |
- run: make test | |
docker-build-push: | |
if: github.event_name != 'pull_request' | |
needs: format-build-test | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
fetch-depth: 0 | |
- uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2.2.0 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- uses: docker/setup-buildx-action@885d1462b80bc1c1c7f0b00334ad271f09369c55 # v2.10.0 | |
- uses: docker/metadata-action@818d4b7b91585d195f67373fd9cb0332e31a7175 # v4.6.0 | |
id: meta | |
with: | |
images: | | |
ghcr.io/${{ github.repository }} | |
tags: | | |
type=ref,event=branch | |
type=semver,pattern={{version}} | |
type=semver,pattern={{major}}.{{minor}} | |
type=semver,pattern={{major}} | |
type=sha | |
- uses: docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # v4.1.1 | |
with: | |
context: . | |
push: true | |
file: Dockerfile.buildx | |
platforms: linux/amd64,linux/arm64,linux/arm | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
release-zips: | |
if: github.event_name != 'pull_request' | |
needs: format-build-test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 | |
with: | |
go-version: '1.19.x' | |
- run: CGO_ENABLED=0 make release | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: release-zips | |
path: "*.zip" | |
mysql-test: | |
runs-on: 'ubuntu-latest' | |
needs: format-build-test | |
services: | |
mysql: | |
image: mysql:8.0 | |
env: | |
MYSQL_RANDOM_ROOT_PASSWORD: yes | |
MYSQL_DATABASE: testdb | |
MYSQL_USER: testuser | |
MYSQL_PASSWORD: testpw | |
ports: | |
- 3800:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 | |
defaults: | |
run: | |
shell: bash | |
env: | |
MYSQL_PWD: testpw | |
PORT: 3800 | |
steps: | |
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 | |
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 | |
with: | |
go-version: '1.19.x' | |
- name: verify mysql | |
run: | | |
while ! mysqladmin ping --host=localhost --port=$PORT --protocol=TCP --silent; do | |
sleep 1 | |
done | |
- name: mysql schema | |
run: | | |
mysql --version | |
mysql --user=testuser --host=localhost --port=$PORT --protocol=TCP testdb < ./storage/mysql/schema.sql | |
- name: set test dsn | |
run: echo "NANOMDM_MYSQL_STORAGE_TEST_DSN=testuser:testpw@tcp(localhost:$PORT)/testdb" >> $GITHUB_ENV | |
- run: go test -v ./storage/mysql |