name: Build AFFiNE-Local on: push: branches: [master] # pull_request: # branches: [master] # Cancels all previous workflow runs for pull requests that have not completed. # See https://docs.github.com/en/actions/using-jobs/using-concurrency concurrency: # The concurrency group contains the workflow name and the branch name for # pull requests or the commit hash for any other events. group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} cancel-in-progress: true env: REGISTRY: ghcr.io NAMESPACE: toeverything AFFINE_IMAGE_NAME: AFFiNE IMAGE_TAG_LATEST: nightly-latest LOCAL_CACHE: localhost:5000/toeverything/relocate:latest jobs: ligo-virgo: runs-on: self-hosted environment: development permissions: contents: read packages: write services: registry: image: registry:2 ports: - 5000:5000 steps: - name: Checkout uses: actions/checkout@v2 - name: Log in to the Container registry uses: docker/login-action@v2 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v1 with: driver-opts: network=host - name: Extract metadata (tags, labels) for Docker (AFFiNE-Local) id: meta_affine uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.AFFINE_IMAGE_NAME }} tags: ${{ env.IMAGE_TAG_LATEST }} - name: Build and push Docker image (AFFINE-Local) uses: docker/build-push-action@v3 with: context: . push: true file: ./.github/deployment/Dockerfile-affine tags: ${{ env.LOCAL_CACHE }} target: AFFiNE - name: Build and push Docker image (AFFINE-Local) uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64,linux/arm64/v8 file: ./.github/deployment/Dockerfile-affine-multiplatform push: ${{ github.ref == 'refs/heads/master' && true || false }} tags: ${{ steps.meta_affine.outputs.tags }} labels: ${{ steps.meta_affine.outputs.labels }} target: AFFiNE build-args: | BASE_IMAGE=${{ env.LOCAL_CACHE }}