-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
1,315 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# To get started with Dependabot version updates, you'll need to specify which | ||
# package ecosystems to update and where the package manifests are located. | ||
# Please see the documentation for all configuration options: | ||
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||
|
||
version: 2 | ||
updates: | ||
- package-ecosystem: "docker" # See documentation for possible values | ||
directory: "/" # Location of package manifests | ||
target-branch: "main" | ||
schedule: | ||
interval: "daily" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
name: Cancelling Duplicates | ||
on: | ||
workflow_run: | ||
workflows: | ||
- 'Deploy to Docker Hub' | ||
- 'Check Linting' | ||
- 'Tests' | ||
types: ['requested'] | ||
|
||
jobs: | ||
cancel-duplicate-workflow-runs: | ||
name: "Cancel duplicate workflow runs" | ||
runs-on: ubuntu-18.04 | ||
steps: | ||
- uses: potiuk/cancel-workflow-runs@master | ||
name: "Cancel duplicate workflow runs" | ||
with: | ||
cancelMode: allDuplicates | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
sourceRunId: ${{ github.event.workflow_run.id }} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
--- | ||
name: Deploy Main | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
reason: | ||
required: false | ||
description: 'Reason for running this workflow' | ||
push: | ||
branches: | ||
- main | ||
# Don't trigger if it's just a documentation update | ||
paths-ignore: | ||
- '**.md' | ||
- '**.MD' | ||
- '**.yml' | ||
- 'LICENSE' | ||
- '.gitattributes' | ||
- '.gitignore' | ||
- '.dockerignore' | ||
|
||
# Set workflow-wide environment variables | ||
# - REPO: repo name on dockerhub | ||
# - IMAGE: image name on dockerhub | ||
env: | ||
# DOCKERHUB_REPO: sdr-enthusiasts | ||
# DOCKERHUB_IMAGE: vrs | ||
GHCR_IMAGE: sdr-enthusiasts/docker-adsb-all-in-one | ||
GHCR_REGISTRY: ghcr.io | ||
GH_LABEL: main | ||
GHCR_TAG: latest | ||
|
||
jobs: | ||
workflow-dispatch: | ||
name: Triggered via Workflow Dispatch? | ||
# only run this step if workflow dispatch triggered | ||
# log the reason the workflow dispatch was triggered | ||
if: | | ||
github.event_name == 'workflow_dispatch' && | ||
github.event.inputs.reason != '' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Log dispatch reason | ||
env: | ||
INPUTS_REASON: ${{ github.event.inputs.reason }} | ||
run: | | ||
echo "Workflow dispatch reason: $INPUTS_REASON" | ||
hadolint: | ||
name: Run hadolint against docker files | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Pull hadolint/hadolint:latest Image | ||
run: docker pull hadolint/hadolint:latest | ||
- name: Run hadolint against Dockerfiles | ||
run: docker run --rm -i -v "$PWD":/workdir --workdir /workdir --entrypoint hadolint hadolint/hadolint --ignore DL3015 --ignore DL3003 --ignore DL3006 --ignore DL3010 --ignore DL4001 --ignore DL3007 --ignore DL3008 --ignore SC2068 --ignore DL3007 --ignore SC1091 --ignore DL3013 --ignore DL3010 $(find . -type f -iname "Dockerfile*") | ||
|
||
deploy_ghcr_multiarch: | ||
name: Deploy ghcr.io (Multi-Arch) | ||
needs: [hadolint] | ||
runs-on: ubuntu-latest | ||
permissions: | ||
packages: write | ||
steps: | ||
|
||
# Check out our code | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
ref: ${{ env.GH_LABEL }} | ||
|
||
# Log into ghcr (so we can push images) | ||
- name: Login to ghcr.io | ||
uses: docker/login-action@v2 | ||
with: | ||
registry: ${{ env.GHCR_REGISTRY }} | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
# Get metadata from repo | ||
- name: Extract metadata (tags, labels) for Docker | ||
id: meta | ||
uses: docker/metadata-action@v4 | ||
with: | ||
images: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }} | ||
|
||
# Set up QEMU for multi-arch builds | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
|
||
# Set up buildx for multi platform builds | ||
- name: Set up Docker Buildx | ||
id: buildx | ||
uses: docker/setup-buildx-action@v2 | ||
with: | ||
driver-opts: image=moby/buildkit:v0.10.6 | ||
|
||
# Build "latest" | ||
- name: Build & Push - latest | ||
uses: docker/build-push-action@v3 | ||
with: | ||
context: . | ||
file: ./Dockerfile | ||
no-cache: true | ||
platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/i386 | ||
push: true | ||
tags: ghcr.io/${{ env.GHCR_IMAGE }}:${{ env.GHCR_TAG }} | ||
labels: ${{ steps.meta.outputs.labels }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
ignored: | ||
- DL3003 | ||
- DL3008 | ||
- SC3054 | ||
- SC3044 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
FROM ghcr.io/sdr-enthusiasts/docker-baseimage:wreadsb | ||
|
||
LABEL org.opencontainers.image.source = "https://github.com/sdr-enthusiasts/docker-multifeeder" | ||
|
||
ENV URL_MLAT_CLIENT_REPO="https://github.com/adsbxchange/mlat-client.git" \ | ||
PRIVATE_MLAT="false" \ | ||
MLAT_INPUT_TYPE="auto" | ||
|
||
RUN set -x && \ | ||
# define packages needed for installation and general management of the container: | ||
TEMP_PACKAGES=() && \ | ||
KEPT_PACKAGES=() && \ | ||
KEPT_PACKAGES+=(procps nano aptitude) && \ | ||
KEPT_PACKAGES+=(psmisc) && \ | ||
# Git and net-tools are needed to install and run @Mikenye's HealthCheck framework | ||
KEPT_PACKAGES+=(git) && \ | ||
# | ||
# Needed to run the mlat_client: | ||
KEPT_PACKAGES+=(python3) && \ | ||
KEPT_PACKAGES+=(python3-pip) && \ | ||
KEPT_PACKAGES+=(python3-setuptools) && \ | ||
KEPT_PACKAGES+=(python3-wheel) && \ | ||
# | ||
# These are needed to compile and install the mlat_client: | ||
TEMP_PACKAGES+=(build-essential) && \ | ||
TEMP_PACKAGES+=(debhelper) && \ | ||
TEMP_PACKAGES+=(python3-dev) && \ | ||
TEMP_PACKAGES+=(python3-distutils-extra) && \ | ||
# | ||
# Install all these packages: | ||
apt-get update -q -y && \ | ||
apt-get install -o Dpkg::Options::="--force-confnew" --force-yes -y --no-install-recommends -q \ | ||
${KEPT_PACKAGES[@]} \ | ||
${TEMP_PACKAGES[@]} && \ | ||
# | ||
# Compile and Install the mlat_client | ||
mkdir -p /git && \ | ||
pushd /git && \ | ||
git clone --depth 1 $URL_MLAT_CLIENT_REPO && \ | ||
cd mlat-client && \ | ||
./setup.py install && \ | ||
ln -s /usr/local/bin/mlat-client /usr/bin/mlat-client && \ | ||
popd && \ | ||
rm -rf /git && \ | ||
# | ||
# Clean up | ||
apt-get remove -q -y ${TEMP_PACKAGES[@]} && \ | ||
apt-get autoremove -q -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 -y && \ | ||
apt-get clean -q -y && \ | ||
rm -rf /src /tmp/* /var/lib/apt/lists/* /git && \ | ||
# | ||
# Do some stuff for kx1t's convenience: | ||
echo "alias dir=\"ls -alsv\"" >> /root/.bashrc && \ | ||
echo "alias nano=\"nano -l\"" >> /root/.bashrc | ||
|
||
COPY rootfs/ / | ||
|
||
# Add Container Version | ||
RUN set -x && \ | ||
branch="##BRANCH##" && \ | ||
[[ "${branch:0:1}" == "#" ]] && branch="main" || true && \ | ||
git clone --depth=1 -b $branch https://github.com/sdr-enthusiasts/docker-multifeeder.git /tmp/clone && \ | ||
pushd /tmp/clone && \ | ||
echo "$(TZ=UTC date +%Y%m%d-%H%M%S)_$(git rev-parse --short HEAD)_$(git branch --show-current)" > /.CONTAINER_VERSION && \ | ||
popd && \ | ||
rm -rf /tmp/* |
Oops, something went wrong.