Newer
Older
netbox-docker / .github / workflows / push.yml
@Christian Mäder Christian Mäder on 9 Feb 2021 1 KB Lint the syntax of changes
name: push

on:
  push:
    branches-ignore:
      - release
  pull_request:
    branches-ignore:
      - release

jobs:
  lint:
    runs-on: ubuntu-latest
    name: Checks syntax of our code
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
    - name: Lint Code Base
      uses: github/super-linter@v3
      env:
        DEFAULT_BRANCH: develop
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        SUPPRESS_POSSUM: true
        LINTER_RULES_PATH: /
        VALIDATE_ALL_CODEBASE: false
        VALIDATE_DOCKERFILE: false

        EDITORCONFIG_FILE_NAME: .ecrc
        DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml
        MARKDOWN_CONFIG_FILE: .markdown-lint.yml
        PYTHON_BLACK_CONFIG_FILE: pyproject.toml
        PYTHON_FLAKE8_CONFIG_FILE: .flake8
        PYTHON_ISORT_CONFIG_FILE: pyproject.toml
  build:
    continue-on-error: ${{ matrix.docker_from == 'alpine:edge' }}
    strategy:
      matrix:
        build_cmd:
        - ./build-latest.sh
        - PRERELEASE=true ./build-latest.sh
        - ./build-next.sh
        - ./build.sh develop
        docker_from:
        - '' # use the default of the build script
        - alpine:edge
      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 from '${{ matrix.docker_from }}' with '${{ matrix.build_cmd }}'
      run: ${{ matrix.build_cmd }}
      env:
        DOCKER_FROM: ${{ matrix.docker_from }}
        GH_ACTION: enable
    - id: docker-test
      name: Test the image
      run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh
      if: steps.docker-build.outputs.skipped != 'true'