Skip to content

Commit

Permalink
Some changes to CI, esp. the artifact names
Browse files Browse the repository at this point in the history
  • Loading branch information
Jojo-Schmitz committed Sep 2, 2024
1 parent 8d90d6c commit 1a46fae
Show file tree
Hide file tree
Showing 6 changed files with 168 additions and 34 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ jobs:
ARTIFACTS_DIR="build.artifacts"
echo "ARTIFACTS_DIR=${ARTIFACTS_DIR}" | tee -a "${GITHUB_ENV}"
buildscripts/ci/tools/make_build_mode_env.sh -e "${{ github.event_name }}" -m "${{ inputs.build_mode }}"
build/ci/tools/make_build_mode_env.sh -e "${{ github.event_name }}" -m "${{ inputs.build_mode }}"
BUILD_MODE="$(<"${ARTIFACTS_DIR}/env/build_mode.env")"
case "${BUILD_MODE}" in
Expand All @@ -97,23 +97,23 @@ jobs:
*) MUSE_APP_BUILD_MODE=dev;;
esac
buildscripts/ci/tools/make_build_number.sh
build/ci/tools/make_build_number.sh
BUILD_NUMBER="$(<"${ARTIFACTS_DIR}/env/build_number.env")"
buildscripts/ci/tools/make_version_env.sh "${BUILD_NUMBER}"
build/ci/tools/make_version_env.sh "${BUILD_NUMBER}"
BUILD_VERSION="$(<"${ARTIFACTS_DIR}/env/build_version.env")"
buildscripts/ci/tools/make_branch_env.sh
build/ci/tools/make_branch_env.sh
BUILD_BRANCH="$(<"${ARTIFACTS_DIR}/env/build_branch.env")"
buildscripts/ci/tools/make_release_channel_env.sh -c "${MUSE_APP_BUILD_MODE}"
buildscripts/ci/tools/make_revision_env.sh "$(git rev-parse --short=7 HEAD)"
build/ci/tools/make_release_channel_env.sh -c "${MUSE_APP_BUILD_MODE}"
build/ci/tools/make_revision_env.sh "$(git rev-parse --short=7 HEAD)"
buildscripts/ci/tools/make_artifact_name_env.sh "MuseScore-Dummy-${BUILD_VERSION}-${{ matrix.os }}-${HOSTTYPE}.txt"
build/ci/tools/make_artifact_name_env.sh "MuseScore-Dummy-${BUILD_VERSION}-${{ matrix.os }}-${HOSTTYPE}.txt"
ARTIFACT_NAME="$(<"${ARTIFACTS_DIR}/env/artifact_name.env")"
echo "Hello, world!" >"${ARTIFACTS_DIR}/${ARTIFACT_NAME}"
buildscripts/ci/tools/checksum.sh
build/ci/tools/checksum.sh
UPLOAD_ARTIFACT_NAME="$(tr '":<>|*?/\\’' '_' <<<"MU4_${BUILD_NUMBER}_Dummy-${{ matrix.os }}_${BUILD_BRANCH}")"
echo "UPLOAD_ARTIFACT_NAME=${UPLOAD_ARTIFACT_NAME}" | tee -a "${GITHUB_ENV}"
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,15 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: "Configure workflow"
env:
pull_request_title: ${{ github.event.pull_request.title }}
run: |
sudo bash ./build/ci/tools/make_build_mode_env.sh -e ${{ github.event_name }} -m ${{ inputs.build_mode }}
BUILD_MODE=$(cat ./build.artifacts/env/build_mode.env)
sudo bash ./build/ci/tools/make_build_number.sh
BUILD_NUMBER=$(cat ./build.artifacts/env/build_number.env)
DO_BUILD='true'
DO_PUBLISH='false'
Expand All @@ -61,12 +66,22 @@ jobs:
fi
fi
ADD_INFO="_${GITHUB_REF#refs/heads/}"
if [ "${{ github.event_name }}" == "schedule" ] && [ "${{ github.event.schedule }}" == "0 5 */1 */1 *" ]; then ADD_INFO="_${CURRENT_RELEASE_BRANCH}"; fi
if [ "${{ github.event_name }}" == "pull_request" ]; then ADD_INFO="_${{ github.event.pull_request.number }}_${pull_request_title}"; fi
UPLOAD_ARTIFACT_NAME="$(tr '":<>|*?/\\?' '_' <<<"Mu3.7_${BUILD_NUMBER}_Lin${ADD_INFO}")"
echo "github.repository: ${{ github.repository }}"
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
echo "BUILD_MODE: $BUILD_MODE"
echo "BUILD_NUMBER=$BUILD_NUMBER" >> $GITHUB_ENV
echo "BUILD_NUMBER: $BUILD_NUMBER"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
echo "DO_PUBLISH=$DO_PUBLISH" >> $GITHUB_ENV
echo "DO_PUBLISH: $DO_PUBLISH"
echo "UPLOAD_ARTIFACT_NAME=$UPLOAD_ARTIFACT_NAME" >> $GITHUB_ENV
echo "UPLOAD_ARTIFACT_NAME: $UPLOAD_ARTIFACT_NAME"
- name: Setup environment
if: env.DO_BUILD == 'true'
Expand All @@ -93,7 +108,7 @@ jobs:
if: env.DO_BUILD == 'true'
uses: actions/upload-artifact@v4
with:
name: MuseScore_${{ github.run_id }}
name: ${{ env.UPLOAD_ARTIFACT_NAME }}
path: ./build.artifacts/

run_mtests:
Expand Down
18 changes: 16 additions & 2 deletions .github/workflows/build_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ env:
DEVELOPER_DIR: /Applications/Xcode_13.1.app/Contents/Developer

jobs:
macos_universal:
macos:
runs-on: macos-12
steps:
- name: Cancel Previous Runs
Expand All @@ -50,10 +50,15 @@ jobs:
with:
fetch-depth: 3
- name: "Configure workflow"
env:
pull_request_title: ${{ github.event.pull_request.title }}
run: |
bash ./build/ci/tools/make_build_mode_env.sh -e ${{ github.event_name }} -m ${{ inputs.build_mode }}
BUILD_MODE=$(cat ./build.artifacts/env/build_mode.env)
bash ./build/ci/tools/make_build_number.sh
BUILD_NUMBER=$(cat ./build.artifacts/env/build_number.env)
DO_PUBLISH='false'
if [[ "${{ inputs.publish }}" == "on" || "$BUILD_MODE" == "nightly" ]]; then
DO_PUBLISH='true'
Expand All @@ -78,15 +83,24 @@ jobs:
DO_BUILD='true'
ADD_INFO="_${GITHUB_REF#refs/heads/}"
if [ "${{ github.event_name }}" == "schedule" ] && [ "${{ github.event.schedule }}" == "0 5 */1 */1 *" ]; then ADD_INFO="_${CURRENT_RELEASE_BRANCH}"; fi
if [ "${{ github.event_name }}" == "pull_request" ]; then ADD_INFO="_${{ github.event.pull_request.number }}_${pull_request_title}"; fi
UPLOAD_ARTIFACT_NAME="$(tr '":<>|*?/\\?' '_' <<<"Mu3.7_${BUILD_NUMBER}_Mac${ADD_INFO}")"
echo "github.repository: ${{ github.repository }}"
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
echo "BUILD_MODE: $BUILD_MODE"
echo "BUILD_NUMBER=$BUILD_NUMBER" >> $GITHUB_ENV
echo "BUILD_NUMBER: $BUILD_NUMBER"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
echo "DO_NOTARIZE=$DO_NOTARIZE" >> $GITHUB_ENV
echo "DO_NOTARIZE: $DO_NOTARIZE"
echo "DO_PUBLISH=$DO_PUBLISH" >> $GITHUB_ENV
echo "DO_PUBLISH: $DO_PUBLISH"
echo "UPLOAD_ARTIFACT_NAME=$UPLOAD_ARTIFACT_NAME" >> $GITHUB_ENV
echo "UPLOAD_ARTIFACT_NAME: $UPLOAD_ARTIFACT_NAME"
- name: Free disk space
if: env.DO_BUILD == 'true'
Expand Down Expand Up @@ -131,5 +145,5 @@ jobs:
if: env.DO_BUILD == 'true'
uses: actions/upload-artifact@v4
with:
name: MuseScore_${{ github.run_id }}
name: ${{ env.UPLOAD_ARTIFACT_NAME }}
path: ./build.artifacts/
111 changes: 90 additions & 21 deletions .github/workflows/build_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,15 @@ jobs:
submodules: 'true'
- name: "Configure workflow"
shell: bash
env:
pull_request_title: ${{ github.event.pull_request.title }}
run: |
bash ./build/ci/tools/make_build_mode_env.sh -e ${{ github.event_name }} -m ${{ inputs.build_mode }}
BUILD_MODE=$(cat ./build.artifacts/env/build_mode.env)
bash ./build/ci/tools/make_build_number.sh
BUILD_NUMBER=$(cat ./build.artifacts/env/build_number.env)
DO_PUBLISH='false'
if [[ "${{ inputs.publish }}" == "on" || "$BUILD_MODE" == "nightly" ]]; then
DO_PUBLISH='true'
Expand All @@ -81,8 +86,16 @@ jobs:
DO_BUILD='true'
ADD_INFO="_${GITHUB_REF#refs/heads/}"
if [ "${{ github.event_name }}" == "schedule" ] && [ "${{ github.event.schedule }}" == "0 5 */1 */1 *" ]; then ADD_INFO="_${CURRENT_RELEASE_BRANCH}"; fi
if [ "${{ github.event_name }}" == "pull_request" ]; then ADD_INFO="_${{ github.event.pull_request.number }}_${pull_request_title}"; fi
UPLOAD_ARTIFACT_NAME="$(tr '":<>|*?/\\’' '_' <<<"Mu3.7_${BUILD_NUMBER}_Win64${ADD_INFO}")"
echo "github.repository: ${{ github.repository }}"
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
echo "BUILD_MODE: $BUILD_MODE"
echo "BUILD_NUMBER=$BUILD_NUMBER" >> $GITHUB_ENV
echo "BUILD_NUMBER: $BUILD_NUMBER"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
echo "DO_PUBLISH=$DO_PUBLISH" >> $GITHUB_ENV
Expand All @@ -91,6 +104,8 @@ jobs:
echo "DO_CHECKSUM: $DO_CHECKSUM"
echo "DO_APPCAST=$DO_APPCAST" >> $GITHUB_ENV
echo "DO_APPCAST: $DO_APPCAST"
echo "UPLOAD_ARTIFACT_NAME=$UPLOAD_ARTIFACT_NAME" >> $GITHUB_ENV
echo "UPLOAD_ARTIFACT_NAME: $UPLOAD_ARTIFACT_NAME"
- name: Setup environment
if: env.DO_BUILD == 'true'
Expand Down Expand Up @@ -129,7 +144,7 @@ jobs:
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: MuseScore_x64_${{ github.run_id }}
name: ${{ env.UPLOAD_ARTIFACT_NAME }}
path: build.artifacts\

windows_x32:
Expand All @@ -149,19 +164,14 @@ jobs:
git submodule update --init --recursive
- name: "Configure workflow"
shell: bash
env:
pull_request_title: ${{ github.event.pull_request.title }}
run: |
bash ./build/ci/tools/make_build_mode_env.sh -e ${{ github.event_name }} -m ${{ inputs.build_mode }}
BUILD_MODE=$(cat ./build.artifacts/env/build_mode.env)
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
DO_BUILD='false'
if [[ "$BUILD_MODE" == "testing" || "$BUILD_MODE" == "stable" ]]; then
DO_BUILD='true'
fi
DO_BUILD='true'
echo "!! ATTENTION !! Windows x32 build run only for 'testing' and 'stable', and SKIP for 'pull requests' and nightly"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
bash ./build/ci/tools/make_build_number.sh
BUILD_NUMBER=$(cat ./build.artifacts/env/build_number.env)
DO_PUBLISH='false'
if [ "${{ inputs.publish }}" == "on" ]; then
Expand All @@ -171,8 +181,40 @@ jobs:
DO_PUBLISH='false'
fi
fi
DO_CHECKSUM='true'
if [ "$BUILD_MODE" == "devel" ]; then DO_CHECKSUM='false'; fi
DO_APPCAST='true'
if [ "$BUILD_MODE" == "devel" ]; then DO_APPCAST='false'; fi
#DO_BUILD='false'
#if [[ "$BUILD_MODE" == "testing" || "$BUILD_MODE" == "stable" ]]; then
#DO_BUILD='true'
#fi
#echo "!! ATTENTION !! Windows x32 build run only for 'testing' and 'stable', and SKIP for 'pull requests' and nightly"
DO_BUILD='true'
ADD_INFO="_${GITHUB_REF#refs/heads/}"
if [ "${{ github.event_name }}" == "schedule" ] && [ "${{ github.event.schedule }}" == "0 5 */1 */1 *" ]; then ADD_INFO="_${CURRENT_RELEASE_BRANCH}"; fi
if [ "${{ github.event_name }}" == "pull_request" ]; then ADD_INFO="_${{ github.event.pull_request.number }}_${pull_request_title}"; fi
UPLOAD_ARTIFACT_NAME="$(tr '":<>|*?/\\?' '_' <<<"Mu3.7_${BUILD_NUMBER}_Win32${ADD_INFO}")"
echo "github.repository: ${{ github.repository }}"
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
echo "BUILD_MODE: $BUILD_MODE"
echo "BUILD_NUMBER=$BUILD_NUMBER" >> $GITHUB_ENV
echo "BUILD_NUMBER: $BUILD_NUMBER"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
echo "DO_PUBLISH=$DO_PUBLISH" >> $GITHUB_ENV
echo "DO_PUBLISH: $DO_PUBLISH"
echo "DO_CHECKSUM=$DO_CHECKSUM" >> $GITHUB_ENV
echo "DO_CHECKSUM: $DO_CHECKSUM"
echo "DO_APPCAST=$DO_APPCAST" >> $GITHUB_ENV
echo "DO_APPCAST: $DO_APPCAST"
echo "UPLOAD_ARTIFACT_NAME=$UPLOAD_ARTIFACT_NAME" >> $GITHUB_ENV
echo "UPLOAD_ARTIFACT_NAME: $UPLOAD_ARTIFACT_NAME"
- name: Setup environment
if: env.DO_BUILD == 'true'
Expand Down Expand Up @@ -211,7 +253,7 @@ jobs:
if: env.DO_BUILD == 'true'
uses: actions/upload-artifact@v4
with:
name: MuseScore_x86_${{ github.run_id }}
name: ${{ env.UPLOAD_ARTIFACT_NAME }}
path: build.artifacts\

windows_portable:
Expand All @@ -232,29 +274,56 @@ jobs:
git submodule update --init --recursive
- name: "Configure workflow"
shell: bash
env:
pull_request_title: ${{ github.event.pull_request.title }}
run: |
bash ./build/ci/tools/make_build_mode_env.sh -e ${{ github.event_name }} -m ${{ inputs.build_mode }}
BUILD_MODE=$(cat ./build.artifacts/env/build_mode.env)
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
DO_BUILD='false'
if [[ "$BUILD_MODE" == "testing" || "$BUILD_MODE" == "stable" ]]; then
DO_BUILD='true'
fi
echo "!! ATTENTION !! Windows portable build run only for 'testing' and 'stable', and SKIP for 'pull requests' and nightly"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
bash ./build/ci/tools/make_build_number.sh
BUILD_NUMBER=$(cat ./build.artifacts/env/build_number.env)
DO_PUBLISH='false'
if [ "${{ inputs.publish }}" == "on" ]; 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
DO_CHECKSUM='true'
if [ "$BUILD_MODE" == "devel" ]; then DO_CHECKSUM='false'; fi
DO_APPCAST='true'
if [ "$BUILD_MODE" == "devel" ]; then DO_APPCAST='false'; fi
DO_BUILD='false'
if [[ "$BUILD_MODE" == "testing" || "$BUILD_MODE" == "stable" ]]; then
DO_BUILD='true'
fi
echo "!! ATTENTION !! Windows portable build run only for 'testing' and 'stable', and SKIP for 'pull requests' and nightly"
DO_PUBLISH='false'
ADD_INFO="_${GITHUB_REF#refs/heads/}"
if [ "${{ github.event_name }}" == "schedule" ] && [ "${{ github.event.schedule }}" == "0 5 */1 */1 *" ]; then ADD_INFO="_${CURRENT_RELEASE_BRANCH}"; fi
if [ "${{ github.event_name }}" == "pull_request" ]; then ADD_INFO="_${{ github.event.pull_request.number }}_${pull_request_title}"; fi
UPLOAD_ARTIFACT_NAME="$(tr '":<>|*?/\\?' '_' <<<"Mu3.7_${BUILD_NUMBER}_WinPortable${ADD_INFO}")"
echo "github.repository: ${{ github.repository }}"
echo "BUILD_MODE=$BUILD_MODE" >> $GITHUB_ENV
echo "BUILD_MODE=$BUILD_MODE"
echo "BUILD_NUMBER=$BUILD_NUMBER" >> $GITHUB_ENV
echo "BUILD_NUMBER: $BUILD_NUMBER"
echo "DO_BUILD=$DO_BUILD" >> $GITHUB_ENV
echo "DO_BUILD: $DO_BUILD"
echo "DO_PUBLISH=$DO_PUBLISH" >> $GITHUB_ENV
echo "DO_PUBLISH: $DO_PUBLISH"
echo "DO_CHECKSUM=$DO_CHECKSUM" >> $GITHUB_ENV
echo "DO_CHECKSUM: $DO_CHECKSUM"
echo "DO_APPCAST=$DO_APPCAST" >> $GITHUB_ENV
echo "DO_APPCAST: $DO_APPCAST"
echo "UPLOAD_ARTIFACT_NAME=$UPLOAD_ARTIFACT_NAME" >> $GITHUB_ENV
echo "UPLOAD_ARTIFACT_NAME: $UPLOAD_ARTIFACT_NAME"
- name: Setup environment
if: env.DO_BUILD == 'true'
Expand Down Expand Up @@ -293,5 +362,5 @@ jobs:
if: env.DO_BUILD == 'true'
uses: actions/upload-artifact@v4
with:
name: MuseScore_Portable_${{ github.run_id }}
name: ${{ env.UPLOAD_ARTIFACT_NAME }}
path: build.artifacts\
4 changes: 2 additions & 2 deletions build/ci/tools/make_build_mode_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ if [ $MODE_IS_VALID -ne 1 ] ; then
exit 1
fi

mkdir $ARTIFACTS_DIR
mkdir $ARTIFACTS_DIR/env
mkdir -p $ARTIFACTS_DIR
mkdir -p $ARTIFACTS_DIR/env

echo $BUILD_MODE > $ARTIFACTS_DIR/env/build_mode.env
echo "BUILD_MODE: $(cat $ARTIFACTS_DIR/env/build_mode.env)"
Expand Down
36 changes: 36 additions & 0 deletions build/ci/tools/make_build_number.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: GPL-3.0-only
# MuseScore-Studio-CLA-applies
#
# MuseScore Studio
# Music Composition & Notation
#
# Copyright (C) 2021 MuseScore Limited
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
ARTIFACTS_DIR="build.artifacts"

NUMBER=$1
if [ -z "$NUMBER" ]; then
NUMBER=$(date -u +%y%j%H%M) # less than 2147483647 to fit in Int32 for WiX packaging tool
fi

if [ -z "$NUMBER" ]; then echo "error: not set BUILD_NUMBER"; exit 1; fi

if [ -z "$2" ]; then OUT_DIR=$ARTIFACTS_DIR/env; fi

mkdir -p $ARTIFACTS_DIR
mkdir -p $ARTIFACTS_DIR/env

echo $NUMBER > $ARTIFACTS_DIR/env/build_number.env
echo "BUILD_NUMBER: $(cat $ARTIFACTS_DIR/env/build_number.env)"

0 comments on commit 1a46fae

Please sign in to comment.