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 env: GH_ACTION: enable steps: - name: Checkout uses: actions/checkout@v3 - name: Get Version of NetBox Docker run: | echo "::set-output name=version::$(cat VERSION)" shell: bash - id: docker-build name: Build the image with '${{ matrix.build_cmd }}' run: ${{ matrix.build_cmd }} - 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@v2 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@v2 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 if: steps.docker-build.outputs.skipped != 'true' # ghcr.io - name: Login to GitHub Container Registry uses: docker/login-action@v2 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 if: steps.docker-build.outputs.skipped != 'true'