Skip to content

Commit

Permalink
CI merge branch funnel
Browse files Browse the repository at this point in the history
use a single branch to avoid confusion
  • Loading branch information
lyrra committed Jul 19, 2023
1 parent d0c0bbd commit b92a75d
Show file tree
Hide file tree
Showing 13 changed files with 192 additions and 546 deletions.
141 changes: 63 additions & 78 deletions .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
@@ -1,99 +1,84 @@
name: CI_Linux
name: build_Linux

on:
pull_request:
branches:
- funnel
#schedule:
# - cron: '0 4 */1 * *' # At 04:00 on every day-of-month
schedule:
- cron: '0 4 */7 * *'
workflow_dispatch:
inputs:
build_mode:
description: 'Build mode: devel_build, nightly_build, testing_build, stable_build'
description: 'Build mode: devel_build, stable_build'
required: true
default: 'devel_build'
publish:
description: 'Publish to FTP: on - publish'
required: false
default: 'off'

jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Clone repository
uses: actions/checkout@v2
- name: "Configure workflow"
run: |
sudo bash ./build/ci/tools/make_build_mode_env.sh -e ${{ github.event_name }} -m ${{ github.event.inputs.build_mode }}
BUILD_MODE=$(cat ./build.artifacts/env/build_mode.env)
DO_BUILD='true'
DO_PUBLISH='false'
if [[ "${{ github.event.inputs.publish }}" == "on" || "$BUILD_MODE" == "nightly_build" ]]; then
DO_PUBLISH='true'
if [ -z "${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }}" ]; then
echo "warning: not set OSUOSL_SSH_ENCRYPT_SECRET, publish disabled"
DO_PUBLISH='false'
fi
fi
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
echo "BUILD_MODE: $BUILD_MODE"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
echo "DO_PUBLISH=$DO_PUBLISH" >> $GITHUB_ENV
echo "DO_PUBLISH: $DO_PUBLISH"
- name: Setup environment
if: env.DO_BUILD == 'true'
- name: Clone repo master
uses: actions/checkout@v3
with:
ref: master
path: m
- name: Setup
run: |
sudo bash ./build/ci/linux/setup.sh
ls -ltr
cd m
ls -ltr
./build/ci/linux/setup.sh
- name: Build
if: env.DO_BUILD == 'true'
run: |
T_ID=${{ secrets.TELEMETRY_TRACK_ID }}; if [ -z "$T_ID" ]; then T_ID="''"; fi
sudo bash ./build/ci/linux/build.sh -n ${{ github.run_id }} --telemetry $T_ID
- name: Package
if: env.DO_BUILD == 'true'
run: |
sudo bash ./build/ci/linux/package.sh
- name: Checksum
if: env.DO_BUILD == 'true'
run: |
sudo bash ./build/ci/tools/checksum.sh
- name: Publish package
if: env.DO_PUBLISH == 'true'
cd m
./build/ci/linux/build.sh
- name: Package
run: |
sudo bash ./build/ci/tools/osuosl/publish.sh -s ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }} --os linux -v 3
- name: Upload artifacts on GitHub
if: env.DO_BUILD == 'true'
uses: actions/upload-artifact@v2
cd m
./build/ci/linux/package.sh
- name: Artifact
uses: actions/upload-artifact@v3
with:
name: MuseScore_${{ github.run_id }}
path: ./build.artifacts/

run_mtests:
runs-on: ubuntu-18.04
env:
# Enable AddressSanitizer in the mtest build
CFLAGS: "-fsanitize=address -fno-omit-frame-pointer"
CXXFLAGS: "-fsanitize=address -fno-omit-frame-pointer"
name: linux-musescore3
path: m/musescore3.tar.xz
- name: version
run: echo "::set-output name=version::$(date +%Y%m%d)"
id: version
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: release-linux-${{ steps.version.outputs.version }}
release_name: linux-${{ steps.version.outputs.version }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./m/musescore3.tar.xz
asset_name: musescore3.tar.xz
asset_content_type: application/zip
upload-weekly:
permissions:
contents: write
needs:
- build
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2
- name: Setup environment
run: |
sudo bash ./build/ci/linux/setup.sh
- name: Build
run: |
mkdir -p build.artifacts/env
./build/ci/linux/build.sh -n ${{ github.run_id }} --build_mode mtests
- name: Run mtests
run: |
./build/ci/linux/runmtests.sh
- uses: actions/download-artifact@v2
with:
name: linux-musescore3
- name: Upload musescore release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: |
gh release upload weekly-linux musescore3* --clobber -R ${{ github.repository }}
2 changes: 1 addition & 1 deletion .github/workflows/ci_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI_MacOS
on:
pull_request:
branches:
- funnel
- master
#schedule:
# - cron: '0 4 */1 * *' # At 04:00 on every day-of-month
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci_tx2s3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI_Run_tx2s3
on:
pull_request:
branches:
- funnel
- master
#schedule:
# - cron: '*/15 * * * *' # Every 15 minutes
workflow_dispatch:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_vtests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI_vtests
on:
pull_request:
branches:
- funnel
- master
schedule:
- cron: '0 4 */1 * *' # At 04:00 on every day-of-month
workflow_dispatch:
Expand All @@ -15,7 +15,7 @@ on:

jobs:
run_vtests:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2
Expand Down
56 changes: 40 additions & 16 deletions .github/workflows/ci_windows.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
name: CI_Windows
name: build_Windows

on:
pull_request:
branches:
- funnel
schedule:
- cron: '0 4 */7 * *'
workflow_dispatch:
inputs:
build_mode:
description: 'Build mode: devel_build, nightly_build, testing_build, stable_build'
description: 'Build mode: devel_build, stable_build'
required: true
default: 'devel_build'
publish:
description: 'Publish to FTP: on - publish'
required: false
default: 'off'

jobs:
build_x64:
Expand All @@ -30,6 +23,7 @@ jobs:
install: >-
base-devel
git
zip
gettext-devel
mingw-w64-x86_64-make
mingw-w64-x86_64-autotools
Expand Down Expand Up @@ -58,31 +52,44 @@ jobs:
mingw-w64-x86_64-libogg
mingw-w64-x86_64-lame
mingw-w64-x86_64-jack2
- name: Clone repository
- name: Clone repo master
uses: actions/checkout@v3
with:
ref: master
path: m
- name: Setup
shell: msys2 {0}
run: |
ls -ltr
cd m
ls -ltr
./build/ci/mingw/setup.sh
- name: Build
shell: msys2 {0}
run: |
./build/ci/tools/build_mingw.sh
cd m
./build/ci/mingw/build.sh
- name: Package
shell: msys2 {0}
run: |
./build/ci/tools/package.sh
cd m
./build/ci/mingw/package.sh
- name: Artifact
uses: actions/upload-artifact@v3
with:
name: mingw-w64-musescore3
path: musescore3-mingw64.zip
path: m/musescore3-mingw64.zip
- name: version
run: echo "::set-output name=version::$(date +%Y%m%d)"
id: version
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ steps.version.outputs.version }}
tag_name: release-mingw-${{ steps.version.outputs.version }}
release_name: mingw-${{ steps.version.outputs.version }}
draft: false
prerelease: false
- name: Upload Release Asset
Expand All @@ -92,6 +99,23 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./musescore3-mingw64.zip
asset_path: ./m/musescore3-mingw64.zip
asset_name: musescore3-mingw64.zip
asset_content_type: application/zip
upload-weekly:
permissions:
contents: write
needs:
- build_x64
if: github.ref == 'refs/heads/master'
runs-on: windows-latest
steps:
- uses: actions/download-artifact@v2
with:
name: mingw-w64-musescore3
- name: Upload musescore release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: |
gh release upload weekly-mingw musescore3* --clobber -R ${{ github.repository }}
Loading

0 comments on commit b92a75d

Please sign in to comment.