name: release on: push: branches: - release 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: - id: git-checkout name: Checkout uses: actions/checkout@v2 - id: docker-build name: Build the image with '${{ matrix.build_cmd }}' run: ${{ matrix.build_cmd }} env: GH_ACTION: enable - id: docker-test name: Test the image run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh if: steps.docker-build.outputs.skipped != 'true' - id: registry-login name: Login to the Docker Registry run: | echo "::add-mask::$DOCKERHUB_USERNAME" echo "::add-mask::$DOCKERHUB_PASSWORD" docker login -u "$DOCKERHUB_USERNAME" --password "${DOCKERHUB_PASSWORD}" "${DOCKER_REGISTRY}" env: DOCKERHUB_USERNAME: ${{ secrets.dockerhub_username }} DOCKERHUB_PASSWORD: ${{ secrets.dockerhub_password }} if: steps.docker-build.outputs.skipped != 'true' - id: registry-push name: Push the image run: ${{ matrix.build_cmd }} --push-only if: steps.docker-build.outputs.skipped != 'true' - id: registry-logout name: Logout of the Docker Registry run: docker logout "${DOCKER_REGISTRY}" if: steps.docker-build.outputs.skipped != 'true' # Quay.io - id: quayio-docker-build name: Build the image with '${{ matrix.build_cmd }}' run: ${{ matrix.build_cmd }} env: DOCKER_REGISTRY: quay.io GH_ACTION: enable - id: quayio-registry-login name: Login to the Quay.io Registry run: | echo "::add-mask::$QUAYIO_USERNAME" echo "::add-mask::$QUAYIO_PASSWORD" docker login -u "$QUAYIO_USERNAME" --password "${QUAYIO_PASSWORD}" "${DOCKER_REGISTRY}" env: DOCKER_REGISTRY: quay.io QUAYIO_USERNAME: ${{ secrets.quayio_username }} QUAYIO_PASSWORD: ${{ secrets.quayio_password }} if: steps.docker-build.outputs.skipped != 'true' - id: quayio-registry-push name: Push the image run: ${{ matrix.build_cmd }} --push-only env: DOCKER_REGISTRY: quay.io if: steps.docker-build.outputs.skipped != 'true' - id: quayio-registry-logout name: Logout of the Docker Registry run: docker logout "${DOCKER_REGISTRY}" env: DOCKER_REGISTRY: quay.io if: steps.docker-build.outputs.skipped != 'true'