bigbluebutton-Github/.github/workflows/automated-tests-build-package-job.yml

55 lines
2.3 KiB
YAML
Raw Normal View History

name: Build service and cache
on:
workflow_call:
inputs:
build-name:
required: true
type: string
build-list:
type: string
cache-files-list:
type: string
cache-urls-list:
type: string
jobs:
build-and-cache:
runs-on: ubuntu-20.04
steps:
- name: Checkout ${{ github.event.pull_request.base.ref || 'master' }}
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.base.ref || '' }}
fetch-depth: 0 # Fetch all history
- name: Merge pr-${{ github.event.number }} into ${{ github.event.pull_request.base.ref }}
if: github.event_name == 'pull_request'
run: |
git config user.name "BBB Automated Tests"
git config user.email "tests@bigbluebutton.org"
git config pull.rebase false
git pull origin pull/${{ github.event.number }}/head:${{ github.head_ref }}
- name: Set cache-key vars
run: |
echo "CACHE_KEY_FILES=$(echo '${{ inputs.cache-files-list }}' | xargs -n1 git log -1 --format=%h -- | tr '\n' '-' | sed 's/-$//')" >> $GITHUB_ENV
echo "CACHE_KEY_URLS=$(echo '${{ inputs.cache-urls-list }}' | xargs -r -n 1 curl -Is | grep -i 'Last-Modified' | md5sum | cut -c1-10)" >> $GITHUB_ENV
cat bigbluebutton-config/bigbluebutton-release >> $GITHUB_ENV
echo "FORCE_GIT_REV=0" >> $GITHUB_ENV #used by setup.sh
echo "FORCE_COMMIT_DATE=0" >> $GITHUB_ENV #used by setup.sh
- name: Handle cache
if: inputs.cache-files-list != ''
id: cache-action
uses: actions/cache@v3
with:
path: artifacts.tar
key: ${{ runner.os }}-${{ inputs.build-name }}-${{ env.BIGBLUEBUTTON_RELEASE }}-commits-${{ env.CACHE_KEY_FILES }}-urls-${{ env.CACHE_KEY_URLS }}
- if: ${{ steps.cache-action.outputs.cache-hit != 'true' }}
name: Generate artifacts
run: |
./build/get_external_dependencies.sh
echo "${{ inputs.build-list || inputs.build-name }}" | xargs -n 1 ./build/setup.sh
tar cvf artifacts.tar artifacts/
- name: Archive packages
uses: actions/upload-artifact@v3
with:
name: artifacts_${{ inputs.build-name }}.tar
path: artifacts.tar