Newer
Older
netbox-docker / .github / workflows / release.yml
@Tobias Genannt Tobias Genannt on 9 Dec 2021 2 KB Fixed release action workflow
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@v2
    -
      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@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
      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
      if: steps.docker-build.outputs.skipped != 'true'