1
0
mirror of https://github.com/pavel-odintsov/fastnetmon synced 2026-07-23 10:04:50 +02:00
Files
fastnetmon-rewritten/.github/workflows/build-developer-docker-image.yml
2026-05-31 08:28:36 -07:00

82 lines
2.5 KiB
YAML

name: Build developer Docker image
on:
push:
branches:
- master
workflow_dispatch:
schedule:
# Rebuild daily so the developer image stays fresh
- cron: "0 4 * * *"
permissions:
contents: read
packages: write
jobs:
build_developer_image:
name: Build developer image (${{ matrix.pretty_tag_name }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- docker_image: "ubuntu:24.04"
pretty_tag_name: "24-04"
env:
DEBIAN_FRONTEND: noninteractive
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
steps:
- name: Start base container
run: |
docker run --name linux_docker \
--label "org.opencontainers.image.source=https://github.com/pavel-odintsov/fastnetmon" \
-d -t ${{ matrix.docker_image }}
- name: Update apt cache
run: docker exec linux_docker apt-get update || true
- name: Install base packages
run: docker exec --env DEBIAN_FRONTEND linux_docker apt-get install -y perl wget git s3cmd vim nano libncurses-dev
- name: Clone FastNetMon repository
run: docker exec linux_docker git clone https://github.com/pavel-odintsov/fastnetmon.git
- name: Install GCC
timeout-minutes: 120
run: |
docker exec \
--env AWS_ACCESS_KEY_ID \
--env AWS_SECRET_ACCESS_KEY \
linux_docker perl fastnetmon/src/scripts/install_fastnetmon_dependencies.pl gcc_12_1_0
- name: Install dependencies
timeout-minutes: 180
run: |
docker exec \
--env AWS_ACCESS_KEY_ID \
--env AWS_SECRET_ACCESS_KEY \
linux_docker perl fastnetmon/src/scripts/install_fastnetmon_dependencies.pl
- name: Show docker state
run: |
docker images
docker ps
- name: Commit container to image
run: |
container_id=$(docker ps | tail -1 | awk '{print $1}')
docker commit "$container_id" ghcr.io/pavel-odintsov/fastnetmon-community-developer-${{ matrix.pretty_tag_name }}:latest
docker images
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: pavel-odintsov
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push developer image
run: docker push ghcr.io/pavel-odintsov/fastnetmon-community-developer-${{ matrix.pretty_tag_name }}:latest