mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-24 05:02:10 +00:00
[GHA] Add build workflow.
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
name: Build and Distribute
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- "**"
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref || github.ref }}
|
||||
|
||||
jobs:
|
||||
excludes:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
deb: ${{ steps.deb.outputs.excludes }}
|
||||
steps:
|
||||
- id: deb
|
||||
name: Generate Matrix excludes for DEB
|
||||
run: |
|
||||
JSON="[]"
|
||||
|
||||
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
|
||||
JSON=$(jq -n '[
|
||||
{
|
||||
"version": "bookworm",
|
||||
"platform": {
|
||||
"name": "amd64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "bookworm",
|
||||
"platform": {
|
||||
"name": "arm64v8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "bullseye"
|
||||
}
|
||||
]')
|
||||
fi
|
||||
|
||||
echo "excludes=$(echo $JSON | jq -c .)" | tee -a $GITHUB_OUTPUT
|
||||
|
||||
deb:
|
||||
name: 'DEB'
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
needs:
|
||||
- excludes
|
||||
uses: signalwire/actions-template/.github/workflows/cicd-docker-build-and-distribute.yml@main
|
||||
strategy:
|
||||
# max-parallel: 1
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- debian
|
||||
version:
|
||||
- bookworm
|
||||
- bullseye
|
||||
- buster
|
||||
platform:
|
||||
- name: amd64
|
||||
runner: ubuntu-latest
|
||||
- name: arm32v7
|
||||
runner: linux-arm64-4-core-public
|
||||
- name: arm64v8
|
||||
runner: linux-arm64-4-core-public
|
||||
exclude: ${{ fromJson(needs.excludes.outputs.deb) }}
|
||||
with:
|
||||
RUNNER: ${{ matrix.platform.runner }}
|
||||
ARTIFACTS_PATTERN: '.*\.(deb|dsc|changes|tar.bz2|tar.gz|tar.lzma|tar.xz)$'
|
||||
DOCKERFILE: .github/docker/${{ matrix.os }}/${{ matrix.version }}/${{ matrix.platform.name }}/Dockerfile
|
||||
MAINTAINER: 'Andrey Volk <andrey@signalwire.com>'
|
||||
META_FILE_PATH_PREFIX: /var/www/freeswitch/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}
|
||||
PLATFORM: ${{ matrix.platform.name }}
|
||||
REPO_DOMAIN: freeswitch.signalwire.com
|
||||
TARGET_ARTIFACT_NAME: ${{ matrix.os }}-${{ matrix.version }}-${{ matrix.platform.name }}-artifact
|
||||
UPLOAD_BUILD_ARTIFACTS: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.title, ':upload-artifacts') }}
|
||||
secrets:
|
||||
GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }}
|
||||
HOSTNAME: ${{ secrets.HOSTNAME }}
|
||||
PROXY_URL: ${{ secrets.PROXY_URL }}
|
||||
USERNAME: ${{ secrets.USERNAME }}
|
||||
TELEPORT_TOKEN: ${{ secrets.TELEPORT_TOKEN }}
|
||||
REPO_USERNAME: 'signalwire'
|
||||
REPO_PASSWORD: ${{ secrets.REPOTOKEN }}
|
||||
|
||||
meta:
|
||||
name: 'Publish build data to meta-repo'
|
||||
if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.title, ':upload-artifacts') }}
|
||||
needs:
|
||||
- deb
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
uses: signalwire/actions-template/.github/workflows/meta-repo-content.yml@main
|
||||
with:
|
||||
META_CONTENT: '/var/www/freeswitch/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}'
|
||||
META_REPO: signalwire/bamboo_gha_trigger
|
||||
META_REPO_BRANCH: trigger/freeswitch/${{ github.ref_name }}
|
||||
secrets:
|
||||
GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }}
|
||||
Reference in New Issue
Block a user