mirror of
https://github.com/netbox-community/netbox-docker.git
synced 2025-12-10 13:52:38 +00:00
Because the development of Nginx Unit has been stopped, switch the server to Granian which still allows to serve the Python application and the static files from one server.
105 lines
3.3 KiB
YAML
105 lines
3.3 KiB
YAML
---
|
|
name: push
|
|
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- release
|
|
- renovate/**
|
|
pull_request:
|
|
branches-ignore:
|
|
- release
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-24.04
|
|
name: Checks syntax of our code
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
statuses: write
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
with:
|
|
# Full git history is needed to get a proper
|
|
# list of changed files within `super-linter`
|
|
fetch-depth: 0
|
|
- name: Lint Code Base
|
|
uses: super-linter/super-linter@v8
|
|
env:
|
|
DEFAULT_BRANCH: develop
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
SUPPRESS_POSSUM: true
|
|
LINTER_RULES_PATH: /
|
|
VALIDATE_ALL_CODEBASE: false
|
|
VALIDATE_BIOME_FORMAT: false
|
|
VALIDATE_CHECKOV: false
|
|
VALIDATE_DOCKERFILE: false
|
|
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
|
|
VALIDATE_GITLEAKS: false
|
|
VALIDATE_JSCPD: false
|
|
VALIDATE_PYTHON_PYLINT: false
|
|
VALIDATE_TRIVY: false
|
|
FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*)
|
|
EDITORCONFIG_FILE_NAME: .editorconfig-checker.json
|
|
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 main
|
|
os:
|
|
- ubuntu-24.04
|
|
- ubuntu-24.04-arm
|
|
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@v5
|
|
- id: buildx-setup
|
|
name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
- id: arm-install-skopeo
|
|
name: Install 'skopeo' on ARM64
|
|
if: matrix.os == 'ubuntu-24.04-arm'
|
|
run: |
|
|
sudo apt-get install -y skopeo
|
|
- id: arm-buildx-platform
|
|
name: Set BUILDX_PLATFORM to ARM64
|
|
if: matrix.os == 'ubuntu-24.04-arm'
|
|
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 == 'ubuntu-24.04-arm'
|
|
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'
|