Linux fixes #1213
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-linux64 | |
on: | |
push: | |
paths-ignore: | |
- '**/README.md' | |
pull_request: | |
paths-ignore: | |
- '**/README.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
TARGET: "linux" | |
NO_FORCE: 1 | |
GA_CI_SECRET: ${{ secrets.CI_SECRET }} | |
USE_ARTIFACT: true | |
DISABLE_WORKFLOW: "true" | |
jobs: | |
pre-check: | |
runs-on: ubuntu-latest | |
outputs: | |
workflow_disabled: ${{ steps.check-disabled.outputs.disabled }} | |
steps: | |
- name: Check if Workflow is disabled | |
id: check-disabled | |
shell: bash | |
run: | | |
if [ "${{ env.DISABLE_WORKFLOW }}" == "true" ]; then | |
echo "disabled=true" >> $GITHUB_ENV | |
echo "::set-output name=disabled::true" | |
else | |
echo "::set-output name=disabled::false" | |
fi | |
build-linux64: | |
if: needs.pre-check.outputs.workflow_disabled != 'true' | |
needs: pre-check | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
cfg: | |
- {target: linux, arch: 64, gcc: gcc9} | |
- {target: linux, arch: 64, gcc: gcc10} | |
- {target: linux, arch: 64, gcc: gcc11} | |
- {target: linux, arch: 64, gcc: gcc12} | |
- {target: linux, arch: 64, gcc: gcc13} | |
- {target: linux, arch: 64, gcc: gcc14} | |
env: | |
TARGET: ${{matrix.cfg.target}} | |
GCC: ${{matrix.cfg.gcc}} | |
ARCH: ${{matrix.cfg.arch}} | |
steps: | |
- uses: actions/[email protected] | |
- name: Check if Workflow is disabled | |
run: | | |
if [ "${{ env.DISABLE_WORKFLOW }}" == "true" ]; then | |
echo "Workflow is disabled. Exiting." | |
exit 78 | |
fi | |
- name: Determine Release | |
id: vars | |
shell: bash | |
run: | | |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then | |
echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV | |
elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then | |
echo "RELEASE=nightly" >> $GITHUB_ENV | |
elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then | |
echo "RELEASE=latest" >> $GITHUB_ENV | |
else | |
echo "RELEASE=latest" >> $GITHUB_ENV | |
fi | |
- name: Scripts Calc Formula - ${{matrix.cfg.target}} - ${{matrix.cfg.gcc}} | |
run: ./scripts/calculate_formulas.sh | |
- name: Scripts Install | |
run: ./scripts/linux/install.sh | |
- name: BuildLinux64 | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: scripts/build.sh | |
env: | |
BUNDLE: ${{ matrix.bundle }} | |
# - name: Build Poco | |
# shell: bash | |
# run: ./apothecary/apothecary -tlinux -a${{ env.ARCH }} update poco | |
- name: Package | |
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') | |
working-directory: ${{ env.GITHUB_WORKSPACE }} | |
run: scripts/package.sh | |
env: | |
BUNDLE: ${{ matrix.bundle }} | |
- name: List output directory | |
run: ls -lah out/ | |
- name: List output main directory | |
run: ls -lah | |
- name: List packaged file | |
run: find out/ -type f \( -name "*.zip" -o -name "*.tar.bz2" \) -exec echo {} \; | |
- name: Generate Summary | |
run: | | |
chmod +x ./scripts/summary.sh | |
./scripts/summary.sh | |
- name: Update Release 64 | |
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') | |
uses: softprops/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag_name: ${{ env.RELEASE }} | |
draft: false | |
files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.ARCH }}_${{ env.GCC }}.tar.bz2 | |
- name: Clean | |
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' | |
run: | | |
rm -f out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.ARCH }}_${{ env.GCC }}.tar.bz2 | |
- name: Package Split | |
# if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding' || contains(github.ref, 'refs/tags/')) | |
working-directory: ${{ env.GITHUB_WORKSPACE }} | |
run: | | |
scripts/package-individual.sh | |
env: | |
GA_CI_SECRET: ${{ secrets.CI_SECRET }} | |
ARCH: ${{ env.ARCH }} | |
- name: List output directory 3 | |
run: ls -lah out/ | |
- name: Upload to GitHub Release | |
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding') | |
uses: softprops/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag_name: "latest-modular" | |
files: out/*.tar.bz2 out/*.zip |