--- name: push on: push: branches-ignore: - release - renovate/** pull_request: branches-ignore: - release jobs: lint: runs-on: ubuntu-latest name: Checks syntax of our code steps: - uses: actions/checkout@v4 with: # Full git history is needed to get a proper # list of changed files within `super-linter` fetch-depth: 0 - uses: actions/setup-python@v5 with: python-version: '3.9' - name: Lint Code Base uses: github/super-linter@v5 env: DEFAULT_BRANCH: develop GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SUPPRESS_POSSUM: true LINTER_RULES_PATH: / VALIDATE_ALL_CODEBASE: false VALIDATE_DOCKERFILE: false VALIDATE_GITLEAKS: false FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*) 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 YAML_CONFIG_FILE: .yamllint.yaml build: continue-on-error: ${{ matrix.build_cmd != './build-latest.sh' }} strategy: matrix: build_cmd: - ./build-latest.sh - PRERELEASE=true ./build-latest.sh - ./build.sh feature - ./build.sh develop os: - ubuntu-latest - self-hosted fail-fast: false env: GH_ACTION: enable GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} IMAGE_NAMES: docker.io/netboxcommunity/netbox runs-on: ${{ matrix.os }} name: Builds new NetBox Docker Images steps: - id: git-checkout name: Checkout uses: actions/checkout@v4 - id: buildx-setup name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - id: arm-buildx-platform name: Set BUILDX_PLATFORM to ARM64 if: matrix.os == 'self-hosted' run: | echo "BUILDX_PLATFORM=linux/arm64" >>"${GITHUB_ENV}" - id: docker-build name: Build the image for '${{ matrix.os }}' with '${{ matrix.build_cmd }}' run: ${{ matrix.build_cmd }} env: BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }} - id: arm-time-limit name: Set Netbox container start_period higher on ARM64 if: matrix.os == 'self-hosted' run: | echo "NETBOX_START_PERIOD=240s" >>"${GITHUB_ENV}" - id: docker-test name: Test the image run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh if: steps.docker-build.outputs.skipped != 'true'