name: Build and Distribute on: pull_request: push: branches: - master - v1.10 paths: - "**" workflow_dispatch: concurrency: group: ${{ github.head_ref || github.ref }} jobs: excludes: name: 'Excludes' # if: github.event.pull_request.head.repo.full_name == github.repository 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' # if: github.event.pull_request.head.repo.full_name == github.repository 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 ' 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: 'SWUSERNAME' 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 }}