Update refs to connectrpc #1127
Workflow file for this run
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: ci | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
workflow_dispatch: {} # support manual runs | |
permissions: | |
contents: read | |
jobs: | |
ci: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
go-version: [1.19.x,1.20.x] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Setup Docker Buildx # Docker Buildkit required for docker-compose | |
uses: docker/setup-buildx-action@v2 | |
with: | |
driver: docker | |
install: true | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-conformance-ci-${{ hashFiles('**/go.sum') }} | |
restore-keys: ${{ runner.os }}-conformance-ci- | |
- name: Test | |
run: make dockercomposetest # Make target includes clean-up | |
env: | |
DOCKER_BUILDKIT: 1 | |
COMPOSE_DOCKER_CLI_BUILD: 1 | |
- name: Lint | |
if: matrix.go-version == '1.20.x' | |
run: make lint && make checkgenerate | |
docker: | |
runs-on: ubuntu-latest | |
needs: | |
- ci | |
# This job only runs when | |
# 1. The previous ci job has completed successfully | |
# 2. The repository is not a fork, i.e. it will only run on the official connectrpc/conformance | |
# 3. The workflow run is triggered by push to main branch | |
if: ${{ success() && github.repository == 'connectrpc/conformance' && github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
steps: | |
# qemu is used when executing things like `apk` in the final build | |
# stage which must execute on the target platform. We currently do | |
# not have any CGO and care should be taken in the Dockerfile to ensure | |
# that go cross compilation happens on the build platform. | |
- name: setup-qemu | |
uses: docker/setup-qemu-action@v2 | |
id: qemu | |
with: | |
# alpine image doesn't support linux/riscv64 | |
platforms: linux/386,linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6,linux/ppc64le,linux/s390x | |
- name: setup-docker-buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: login-docker | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: docker-build-push | |
uses: docker/build-push-action@v4 | |
with: | |
file: Dockerfile.conformancego | |
platforms: ${{ steps.qemu.outputs.platforms }} | |
push: true | |
tags: | | |
connectrpc/conformance:latest | |
connectrpc/conformance:${{ github.sha }} | |
docker-web: | |
runs-on: ubuntu-latest | |
needs: | |
- ci | |
# This job only runs when | |
# 1. The previous ci job has completed successfully | |
# 2. The repository is not a fork, i.e. it will only run on the official connectrpc/conformance | |
# 3. The workflow run is triggered by push to main branch | |
if: ${{ success() && github.repository == 'bufbuild/connect-crosstest' && github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
steps: | |
- name: setup-docker-buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: login-docker | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: docker-build-push-web | |
uses: docker/build-push-action@v4 | |
with: | |
file: Dockerfile.conformanceweb | |
platforms: ${{ steps.qemu.outputs.platforms }} | |
push: true | |
tags: | | |
connectrpc/conformance-web:latest | |
connectrpc/conformance-web:${{ github.sha }} |