|
@@ -0,0 +1,56 @@
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+name: build devcontainer image
|
|
|
|
+'on':
|
|
|
|
+ push:
|
|
|
|
+ branches:
|
|
|
|
+ - master
|
|
|
|
+ # Allows you to run this workflow manually from the Actions tab
|
|
|
|
+ workflow_dispatch:
|
|
|
|
+
|
|
|
|
+env:
|
|
|
|
+ DIST: bookworm
|
|
|
|
+
|
|
|
|
+jobs:
|
|
|
|
+ build:
|
|
|
|
+ runs-on: ubuntu-latest
|
|
|
|
+ permissions:
|
|
|
|
+ contents: read
|
|
|
|
+ packages: write
|
|
|
|
+ steps:
|
|
|
|
+ - uses: actions/checkout@v4
|
|
|
|
+ with:
|
|
|
|
+ fetch-depth: 2
|
|
|
|
+
|
|
|
|
+ - name: print latest_commit
|
|
|
|
+ run: echo ${{ github.sha }}
|
|
|
|
+
|
|
|
|
+ - name: Get changed files
|
|
|
|
+ id: changed-files
|
|
|
|
+ uses: tj-actions/changed-files@v40
|
|
|
|
+ with:
|
|
|
|
+ since_last_remote_commit: true
|
|
|
|
+
|
|
|
|
+ - name: changes in relevant files
|
|
|
|
+ id: changed-files-builder
|
|
|
|
+ uses: tj-actions/changed-files@v40
|
|
|
|
+ with:
|
|
|
|
+ files: |
|
|
|
|
+ .devcontainer/**
|
|
|
|
+ pkg/kamailio/deb/${{ env.DIST }}/**
|
|
|
|
+
|
|
|
|
+ - name: Login to GitHub Container Registry
|
|
|
|
+ if: steps.changed-files-builder.outputs.any_changed == 'true'
|
|
|
|
+ uses: docker/login-action@v3
|
|
|
|
+ with:
|
|
|
|
+ registry: ghcr.io
|
|
|
|
+ username: ${{ github.repository_owner }}
|
|
|
|
+ password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
+
|
|
|
|
+ - name: Pre-build dev container image
|
|
|
|
+ if: steps.changed-files-builder.outputs.any_changed == 'true'
|
|
|
|
+ uses: devcontainers/[email protected]
|
|
|
|
+ with:
|
|
|
|
+ imageName: ghcr.io/${{ github.repository_owner }}/kamailio-${{ github.ref_name }}-devcontainer
|
|
|
|
+ cacheFrom: ghcr.io/${{ github.repository_owner }}/kamailio-${{ github.ref_name }}-devcontainer
|
|
|
|
+ push: always
|