name: release on: release: types: - published schedule: - cron: '45 5 * * *' jobs: build: strategy: matrix: build_cmd: - ./build-latest.sh - PRERELEASE=true ./build-latest.sh - ./build.sh feature - ./build.sh develop fail-fast: false runs-on: ubuntu-latest name: Builds new NetBox Docker Images steps: - name: Checkout uses: actions/checkout@v2 - name: Get Version of NetBox Docker run: | echo "::set-output name=version::$(cat VERSION)" shell: bash - name: Set up QEMU uses: docker/setup-qemu-action@v1 - id: buildx-setup name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 with: install: true - name: Available platforms run: echo ${{ steps.buildx-setup.outputs.platforms }} - id: docker-build name: Build the image with '${{ matrix.build_cmd }}' run: ${{ matrix.build_cmd }} env: GH_ACTION: enable - name: Test the image run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh if: steps.docker-build.outputs.skipped != 'true' # docker.io - name: Login to docker.io uses: docker/login-action@v1 with: registry: docker.io username: ${{ secrets.dockerhub_username }} password: ${{ secrets.dockerhub_password }} if: steps.docker-build.outputs.skipped != 'true' - name: Push the image to docker.io run: ${{ matrix.build_cmd }} --push-only if: steps.docker-build.outputs.skipped != 'true' # quay.io - name: Login to Quay.io uses: docker/login-action@v1 with: registry: quay.io username: ${{ secrets.quayio_username }} password: ${{ secrets.quayio_password }} if: steps.docker-build.outputs.skipped != 'true' - name: Build and push the image with '${{ matrix.build_cmd }}' run: ${{ matrix.build_cmd }} --push env: DOCKER_REGISTRY: quay.io GH_ACTION: enable if: steps.docker-build.outputs.skipped != 'true' # ghcr.io - name: Login to GitHub Container Registry uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} if: steps.docker-build.outputs.skipped != 'true' - name: Build and push the image with '${{ matrix.build_cmd }}' run: ${{ matrix.build_cmd }} --push env: DOCKER_REGISTRY: ghcr.io DOCKER_ORG: netbox-community GH_ACTION: enable if: steps.docker-build.outputs.skipped != 'true'