name: Master workflow on: push: branches: [ master ] jobs: test: name: Test runs-on: ubuntu-latest steps: - name: Install SQLite run: | sudo apt-get update sudo apt-get -y install libsqlite3-dev build-essential - name: Install Go uses: actions/setup-go@v3 with: go-version: '1.18' - name: Checkout uses: actions/checkout@v3 - name: Test run: go test -timeout 15s -tags linux,libsqlite3,sqlite_fts5 -cover ./... docker: name: Build Docker images needs: [ test ] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 with: config-inline: | [registry."docker.io"] mirrors = ["mirror.gcr.io"] - name: Login to GitHub container registry uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build base image uses: docker/build-push-action@v2 with: push: true target: base tags: ghcr.io/jlelse/goblog:latest - name: Build tools image uses: docker/build-push-action@v2 with: push: true target: tools tags: ghcr.io/jlelse/goblog:tools