sync ci scripts from 3.x to master

This commit is contained in:
Igor Korsukov 2020-10-21 14:22:17 +02:00
parent 3a97a74718
commit 9510586319
13 changed files with 155 additions and 40 deletions

51
.github/workflows/ci_lupdate.yml vendored Normal file
View file

@ -0,0 +1,51 @@
name: CI_Run_lupdate_to_tx
on:
# pull_request:
# branches:
# - 3.x
workflow_dispatch:
inputs:
publish:
description: 'Publish to Transifex: on - publish'
required: false
default: 'off'
jobs:
lupdate:
runs-on: macos-10.15
steps:
- name: Clone repository
uses: actions/checkout@v2
- name: "Configure workflow"
run: |
DO_PUBLISH='false'
if [ "${{ github.event.inputs.publish }}" == "on" ]; then
DO_PUBLISH='true'
if [ -z "${{ secrets.TRANSIFEX_USER }}" ]; then
echo "warning: not set TRANSIFEX_USER, publish disabled"
DO_PUBLISH='false'
fi
if [ -z "${{ secrets.TRANSIFEX_PASSWORD }}" ]; then
echo "warning: not set TRANSIFEX_PASSWORD, publish disabled"
DO_PUBLISH='false'
fi
fi
echo "DO_PUBLISH=$DO_PUBLISH" >> $GITHUB_ENV
echo "DO_PUBLISH: $DO_PUBLISH"
- name: Setup environment
run: |
sudo bash ./build/ci/lupdate/setup.sh
- name: Run lupdate
run: |
sudo bash ./build/ci/lupdate/run_lupdate.sh
- name: Publish to Transifex
if: env.DO_PUBLISH == 'true'
run: |
sudo bash ./build/ci/lupdate/publish_to_tx.sh -u ${{ secrets.TRANSIFEX_USER }} -p ${{ secrets.TRANSIFEX_PASSWORD }}
- name: Upload artifacts on GitHub
uses: actions/upload-artifact@v2
with:
name: MuseScore_tsfiles_${{ github.run_id }}
path: ./share/locale

View file

@ -95,6 +95,9 @@ jobs:
run: |
if [ "$BUILD_MODE" == "nightly_build" ]; then VER=3; else VER=4; fi
sudo bash ./build/ci/tools/osuosl/publish.sh -s ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }} --os macos -v $VER
- name: AppCast
run: |
bash ./build/ci/tools/sparkle_appcast_gen.sh -p macos
- name: Upload artifacts on GitHub
uses: actions/upload-artifact@v2
with:

View file

@ -92,6 +92,9 @@ jobs:
if: env.DO_PUBLISH == 'true'
run: |
bash ./build/ci/tools/osuosl/publish.sh -s ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }} --os macos -v 4
- name: AppCast
run: |
bash ./build/ci/tools/sparkle_appcast_gen.sh -p macos
- name: Upload artifacts on GitHub
uses: actions/upload-artifact@v2
with:

View file

@ -80,6 +80,10 @@ jobs:
run: |
if [ "$BUILD_MODE" == "nightly_build" ]; then VER=3; else VER=4; fi
bash ./build/ci/tools/osuosl/publish.sh -s ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }} --os windows -v $VER
- name: AppCast
shell: bash
run: |
bash ./build/ci/tools/sparkle_appcast_gen.sh -p windows
- name: Upload artifacts on GitHub
if: ${{ always() }}
uses: actions/upload-artifact@v2

View file

@ -74,6 +74,10 @@ jobs:
shell: bash
run: |
bash ./build/ci/tools/osuosl/publish.sh -s ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }} --os windows -v 4
- name: AppCast
shell: bash
run: |
bash ./build/ci/tools/sparkle_appcast_gen.sh -p windows
- name: Upload artifacts on GitHub
if: ${{ always() }}
uses: actions/upload-artifact@v2
@ -141,7 +145,11 @@ jobs:
# if: env.DO_PUBLISH == 'true'
# shell: cmd
# run: |
# build\ci\windows\publish.bat --secret ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }}
# build\ci\windows\publish.bat --secret ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }}
# - name: AppCast
# shell: bash
# run: |
# bash ./build/ci/tools/sparkle_appcast_gen.sh -p windows
# - name: Upload artifacts on GitHub
# if: env.DO_BUILD == 'true'
# uses: actions/upload-artifact@v2
@ -205,6 +213,10 @@ jobs:
# run: |
# build\ci\windows\publish.bat --secret ${{ secrets.OSUOSL_SSH_ENCRYPT_SECRET }}
# shell: cmd
# - name: AppCast
# shell: bash
# run: |
# bash ./build/ci/tools/sparkle_appcast_gen.sh -p windows
# - name: Upload artifacts on GitHub
# if: env.DO_BUILD == 'true'
# uses: actions/upload-artifact@v2

View file

@ -0,0 +1,29 @@
#!/bin/bash
TRANSIFEX_USER=""
TRANSIFEX_PASSWORD=""
while [[ "$#" -gt 0 ]]; do
case $1 in
-u|--user) TRANSIFEX_USER="$2"; shift ;;
-p|--password) TRANSIFEX_PASSWORD="$2"; shift ;;
*) echo "Unknown parameter passed: $1"; exit 1 ;;
esac
shift
done
if [ -z "$TRANSIFEX_USER" ]; then echo "error: not set TRANSIFEX_USER"; exit 1; fi
if [ -z "$TRANSIFEX_PASSWORD" ]; then echo "error: not set TRANSIFEX_PASSWORD"; exit 1; fi
pip3 install transifex-client
cat > ~/.transifexrc <<EOL
[https://www.transifex.com]
hostname = https://www.transifex.com
password = $TRANSIFEX_PASSWORD
token =
username = $TRANSIFEX_USER
EOL
echo "tx version: $(tx --version)"
tx push -s

View file

@ -0,0 +1,20 @@
#!/bin/bash
ENV_FILE=./../musescore_lupdate_environment.sh
source $ENV_FILE
# Translation routines
# update translation on transifex
# remove obsolete strings
OBSOLETE=-no-obsolete # '-noobsolete' in older QT versions
./build/gen-qt-projectfile . > mscore.pro
lupdate ${OBSOLETE} mscore.pro
./build/gen-instruments-projectfile ./share/instruments > instruments.pro
lupdate ${OBSOLETE} instruments.pro
./build/gen-tours-projectfile ./share/tours > tours.pro
lupdate ${OBSOLETE} tours.pro
rm mscore.pro
rm instruments.pro
rm tours.pro

29
build/ci/lupdate/setup.sh Normal file
View file

@ -0,0 +1,29 @@
#!/bin/bash
echo "Setup MacOS environment for run lupdate"
trap 'echo Setup failed; exit 1' ERR
# Go one-up from MuseScore root dir
cd ..
# Let's remove the file with environment variables to recreate it
ENV_FILE=./musescore_lupdate_environment.sh
rm -f ${ENV_FILE}
echo "echo 'Setup MacOS environment for run lupdate'" >> ${ENV_FILE}
QT_PATH=$HOME/Qt/598/clang_64
wget -nv -O qt5.zip https://s3.amazonaws.com/utils.musescore.org/qt598_mac.zip
mkdir -p $QT_PATH
unzip -qq qt5.zip -d $QT_PATH
echo export PATH="${QT_PATH}/bin:\${PATH}" >> ${ENV_FILE}
echo export LD_LIBRARY_PATH="${QT_PATH}/lib:\${LD_LIBRARY_PATH}" >> ${ENV_FILE}
echo export QT_PATH="${QT_PATH}" >> ${ENV_FILE}
echo export QT_PLUGIN_PATH="${QT_PATH}/plugins" >> ${ENV_FILE}
echo export QML2_IMPORT_PATH="${QT_PATH}/qml" >> ${ENV_FILE}
chmod +x "${ENV_FILE}"
echo "Setup script done"

View file

@ -78,7 +78,3 @@ fi
mv $DMGFILE $ARTIFACTS_DIR/$ARTIFACT_NAME
bash ./build/ci/tools/make_artifact_name_env.sh $ARTIFACT_NAME
bash ./build/ci/tools/make_publish_url_env.sh -p macosx -a $ARTIFACT_NAME
PUBLISH_URL="$(cat $ARTIFACTS_DIR/env/publish_url.env)"
bash ./build/ci/tools/sparkle_appcast_gen.sh -p macos -u $PUBLISH_URL

View file

@ -77,7 +77,7 @@ export QT_SHORT_VERSION=5.9
export QT_PATH=$HOME/Qt
export QT_MACOS=$QT_PATH/$QT_SHORT_VERSION/clang_64
export PATH=$PATH:$QT_MACOS/bin
echo "::set-env name=PATH::${PATH}"
echo "PATH=$PATH" >> $GITHUB_ENV
wget -nv -O qt5.zip https://s3.amazonaws.com/utils.musescore.org/Qt5151_mac.zip
mkdir -p $QT_MACOS
unzip -qq qt5.zip -d $QT_MACOS

View file

@ -1,28 +0,0 @@
#!/usr/bin/env bash
ARTIFACTS_DIR="build.artifacts"
while [[ "$#" -gt 0 ]]; do
case $1 in
-p|--platform) PLATFORM="$2"; shift ;;
-a|--artifact) ARTIFACT_NAME="$2"; shift ;;
-o|--output) OUT_DIR="$2"; shift ;;
*) echo "Unknown parameter passed: $1"; exit 1 ;;
esac
shift
done
if [ -z "$ARTIFACT_NAME" ]; then ARTIFACT_NAME="$(cat $ARTIFACTS_DIR/env/artifact_name.env)"; fi
if [ -z "$OUT_DIR" ]; then OUT_DIR=$ARTIFACTS_DIR/env; fi
# check args
if [ -z "$PLATFORM" ]; then echo "error: not set PLATFORM"; exit 1; fi
if [ -z "$ARTIFACT_NAME" ]; then echo "error: not set ARTIFACT_NAME"; exit 1; fi
echo "PLATFORM: $PLATFORM"
echo "ARTIFACT_NAME: $ARTIFACT_NAME"
UPLOAD_URL=https://ftp.osuosl.org/pub/musescore-nightlies/$PLATFORM/$ARTIFACT_NAME
echo $UPLOAD_URL > $OUT_DIR/publish_url.env
cat $OUT_DIR/publish_url.env

View file

@ -21,6 +21,7 @@ if [ -z "$ARTIFACT_PATH" ]; then ARTIFACT_PATH=$ARTIFACTS_DIR/$(cat $ARTIFACTS_D
if [ -z "$BUILD_VERSION" ]; then BUILD_VERSION="$(cat $ARTIFACTS_DIR/env/build_version.env)"; fi
if [ -z "$BUILD_REVISION" ]; then BUILD_REVISION="$(cat $ARTIFACTS_DIR/env/build_revision.env)"; fi
if [ -z "$RELEASE_CHANNEL" ]; then RELEASE_CHANNEL="$(cat $ARTIFACTS_DIR/env/release_channel.env)"; fi
if [ -z "$UPDATE_URL" ]; then UPDATE_URL="$(cat $ARTIFACTS_DIR/env/publish_url.env)"; fi
# check args
if [ -z "$PLATFORM" ]; then echo "error: not set PLATFORM"; exit 1; fi
@ -28,7 +29,7 @@ if [ -z "$ARTIFACT_PATH" ]; then echo "error: not set ARTIFACT_PATH"; exit 1; fi
if [ -z "$BUILD_VERSION" ]; then echo "error: not set BUILD_VERSION"; exit 1; fi
if [ -z "$BUILD_REVISION" ]; then echo "error: not set BUILD_REVISION"; exit 1; fi
if [ -z "$RELEASE_CHANNEL" ]; then echo "error: not set RELEASE_CHANNEL"; exit 1; fi
if [ -z "$UPDATE_URL" ]; then echo "error: not set UPDATE_URL"; exit 1; fi
if [ -z "$UPDATE_URL" ]; then echo "warning: not set UPDATE_URL"; UPDATE_URL="url/to/update"; fi
echo "MAJOR_VERSION: $MAJOR_VERSION"
echo "PLATFORM: $PLATFORM"

View file

@ -185,11 +185,6 @@ IF %DO_SIGN% == ON (
)
bash ./build/ci/tools/make_artifact_name_env.sh %ARTIFACT_NAME%
bash ./build/ci/tools/make_publish_url_env.sh -p windows -a %ARTIFACT_NAME%
SET /p PUBLISH_URL=<%ARTIFACTS_DIR%\env\publish_url.env
bash ./build/ci/tools/sparkle_appcast_gen.sh -p windows -u %PUBLISH_URL%
:: DEBUG SYM
ECHO "Debug symbols generating.."