diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index fa7a7bde1..a5a8854c0 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -16,123 +16,123 @@ env: MACOS_NOTARIZE_PASSWORD: ${{ secrets.PROD_MACOS_NOTARIZE_PWD }} jobs: - Linux: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Checkout submodules - shell: bash - run: | - git submodule sync --recursive - git submodule update --init --force --recursive --depth=1 - echo "$VERSION" > ganttproject-builder/VERSION - - uses: actions/setup-java@v3 - with: - distribution: 'liberica' - java-version: 17.0.12 - java-package: jdk+fx - cache: 'gradle' - - name: Build GanttProject - run: | - ./gradlew distbin distzip - ./gradlew -PwithJavafx distdeb - echo "===== PLUGINS =====" - ls ganttproject-builder/dist-bin/plugins/base - echo "===== DISTRIBUTIONS =====" - ls build/distributions - - - id: 'auth' - uses: 'google-github-actions/auth@v1' - with: - credentials_json: '${{ secrets.GCP_CREDENTIALS }}' - - - name: 'Set up Cloud SDK' - uses: 'google-github-actions/setup-gcloud@v1' - - - name: 'Use gcloud CLI' - run: 'gcloud info' - - - name: Upload Packages - run: | - #!/bin/sh - cd build/distributions - for f in *; do - gsutil cp $f gs://dl.ganttproject.biz && gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/$f; - done; - - Windows: - runs-on: windows-latest - steps: - - uses: actions/checkout@v3 - - name: Checkout submodules - shell: bash - run: | - git submodule sync --recursive - git submodule update --init --force --recursive --depth=1 - echo "$VERSION" > ganttproject-builder/VERSION - - uses: actions/setup-java@v3 - with: - distribution: 'liberica' - java-version: 17.0.12 - java-package: jdk+fx - cache: 'gradle' - - name: Build GanttProject - run: | - ./gradlew distbin - echo "===== PLUGINS =====" - ls ganttproject-builder/dist-bin/plugins/base - - name: Build MSI installer - run: | - build-bin/package-win.bat - - - id: 'auth' - uses: 'google-github-actions/auth@v1' - with: - credentials_json: '${{ secrets.GCP_CREDENTIALS }}' - - - name: 'Set up Cloud SDK' - uses: 'google-github-actions/setup-gcloud@v1' - - - name: 'Use gcloud CLI' - run: 'gcloud info' - - - name: Upload Packages - run: | - gsutil cp build\ganttproject-$env:VERSION.msi gs://dl.ganttproject.biz - gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/ganttproject-$env:VERSION.msi - - - name: Install NSIS - run: | - iwr -useb get.scoop.sh -outfile 'install.ps1' - .\install.ps1 -RunAsAdmin - scoop update - scoop bucket add extras - scoop install nsis - - name: Print NSIS version - run: makensis -VERSION - - name: Print NSIS compile flags - run: makensis -HDRINFO - - - name: Prepare files for NSIS - run: | - ./gradlew distwin - echo "===== dist-win =====" - ls ganttproject-builder/dist-win - - - name: Build NSIS package - run: | - cd ganttproject-builder\dist-win - makensis ganttproject.nsi - dir - mv ganttproject-$env:VERSION.exe ..\..\build - - - name: Upload Packages - run: | - gsutil cp build\ganttproject-$env:VERSION.exe gs://dl.ganttproject.biz - gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/ganttproject-$env:VERSION.exe +# Linux: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v3 +# - name: Checkout submodules +# shell: bash +# run: | +# git submodule sync --recursive +# git submodule update --init --force --recursive --depth=1 +# echo "$VERSION" > ganttproject-builder/VERSION +# - uses: actions/setup-java@v3 +# with: +# distribution: 'liberica' +# java-version: 17.0.12 +# java-package: jdk+fx +# cache: 'gradle' +# - name: Build GanttProject +# run: | +# ./gradlew distbin distzip +# ./gradlew -PwithJavafx distdeb +# echo "===== PLUGINS =====" +# ls ganttproject-builder/dist-bin/plugins/base +# echo "===== DISTRIBUTIONS =====" +# ls build/distributions +# +# - id: 'auth' +# uses: 'google-github-actions/auth@v1' +# with: +# credentials_json: '${{ secrets.GCP_CREDENTIALS }}' +# +# - name: 'Set up Cloud SDK' +# uses: 'google-github-actions/setup-gcloud@v1' +# +# - name: 'Use gcloud CLI' +# run: 'gcloud info' +# +# - name: Upload Packages +# run: | +# #!/bin/sh +# cd build/distributions +# for f in *; do +# gsutil cp $f gs://dl.ganttproject.biz && gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/$f; +# done; +# +# Windows: +# runs-on: windows-latest +# steps: +# - uses: actions/checkout@v3 +# - name: Checkout submodules +# shell: bash +# run: | +# git submodule sync --recursive +# git submodule update --init --force --recursive --depth=1 +# echo "$VERSION" > ganttproject-builder/VERSION +# - uses: actions/setup-java@v3 +# with: +# distribution: 'liberica' +# java-version: 17.0.12 +# java-package: jdk+fx +# cache: 'gradle' +# - name: Build GanttProject +# run: | +# ./gradlew distbin +# echo "===== PLUGINS =====" +# ls ganttproject-builder/dist-bin/plugins/base +# - name: Build MSI installer +# run: | +# build-bin/package-win.bat +# +# - id: 'auth' +# uses: 'google-github-actions/auth@v1' +# with: +# credentials_json: '${{ secrets.GCP_CREDENTIALS }}' +# +# - name: 'Set up Cloud SDK' +# uses: 'google-github-actions/setup-gcloud@v1' +# +# - name: 'Use gcloud CLI' +# run: 'gcloud info' +# +# - name: Upload Packages +# run: | +# gsutil cp build\ganttproject-$env:VERSION.msi gs://dl.ganttproject.biz +# gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/ganttproject-$env:VERSION.msi +# +# - name: Install NSIS +# run: | +# iwr -useb get.scoop.sh -outfile 'install.ps1' +# .\install.ps1 -RunAsAdmin +# scoop update +# scoop bucket add extras +# scoop install nsis +# - name: Print NSIS version +# run: makensis -VERSION +# - name: Print NSIS compile flags +# run: makensis -HDRINFO +# +# - name: Prepare files for NSIS +# run: | +# ./gradlew distwin +# echo "===== dist-win =====" +# ls ganttproject-builder/dist-win +# +# - name: Build NSIS package +# run: | +# cd ganttproject-builder\dist-win +# makensis ganttproject.nsi +# dir +# mv ganttproject-$env:VERSION.exe ..\..\build +# +# - name: Upload Packages +# run: | +# gsutil cp build\ganttproject-$env:VERSION.exe gs://dl.ganttproject.biz +# gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/ganttproject-$env:VERSION.exe macOS_silicon: - runs-on: macos-13-arm64 + runs-on: macos-latest steps: - uses: actions/checkout@v3 - name: Checkout submodules @@ -158,25 +158,6 @@ jobs: ./build-bin/package-mac.sh ./build/GanttProject.app/Contents/MacOS/GanttProject -h || echo "failed to run" - - name: Sign GanttProject.app - run: | - echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12 - - security create-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain - security default-keychain -s build.keychain - security unlock-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain - security import certificate.p12 -k build.keychain -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign - security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$MACOS_CI_KEYCHAIN_PWD" build.keychain - - echo "------------------ NOW SIGNING ------------------------" - - build-bin/notarize.sh $VERSION "BarD Software s.r.o" "--" sign build.keychain - - jpackage --type dmg --app-image build/GanttProject.app -n "ganttproject" --dest build/ - build-bin/notarize.sh $VERSION "BarD Software s.r.o" "$MACOS_NOTARIZE_PASSWORD" notarize - build-bin/notarize.sh $VERSION "BarD Software s.r.o" "--" staple - rm build/*.dmg - jpackage --type dmg --app-image build/GanttProject.app -n "ganttproject-notarized" --dest build/ - id: 'auth' uses: 'google-github-actions/auth@v1' with: @@ -188,43 +169,9 @@ jobs: - name: 'Use gcloud CLI' run: 'gcloud info' - - name: Upload artifacts - run: | - #!/bin/sh - cd build - for f in *.dmg; do - gsutil cp $f gs://dl.ganttproject.biz && gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/$f; - done; - - macOS_intel: - runs-on: macos-13 - steps: - - uses: actions/checkout@v3 - - name: Checkout submodules - shell: bash - run: | - git submodule sync --recursive - git submodule update --init --force --recursive --depth=1 - echo "$VERSION" > ganttproject-builder/VERSION - - uses: actions/setup-java@v3 - with: - distribution: 'liberica' - java-version: 17.0.12 - java-package: jdk+fx - cache: 'gradle' - - name: Build GanttProject - run: | - ./gradlew distbin - echo "===== PLUGINS =====" - ls ganttproject-builder/dist-bin/plugins/base - - - name: Build GanttProject.app - run: | - ./build-bin/package-mac.sh - ./build/GanttProject.app/Contents/MacOS/GanttProject -h || echo "failed to run" - - name: Sign GanttProject.app run: | + echo "------------------ PREPARING KEYCHAINS ------------------------" echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12 security create-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain @@ -233,26 +180,19 @@ jobs: security import certificate.p12 -k build.keychain -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$MACOS_CI_KEYCHAIN_PWD" build.keychain - echo "------------------ NOW SIGNING ------------------------" - - build-bin/notarize.sh $VERSION "BarD Software s.r.o" "--" sign build.keychain - + echo "------------------ SIGNING ------------------------" + build-bin/notarize.sh $VERSION "BarD Software s.r.o" "--" sign build.keychain jpackage --type dmg --app-image build/GanttProject.app -n "ganttproject" --dest build/ + cd build + for f in *.dmg; do + gsutil cp $f gs://dl.ganttproject.biz && gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/$f; + done; + cd .. + + echo "------------------ NOTARIZING ------------------------" build-bin/notarize.sh $VERSION "BarD Software s.r.o" "$MACOS_NOTARIZE_PASSWORD" notarize build-bin/notarize.sh $VERSION "BarD Software s.r.o" "--" staple rm build/*.dmg - jpackage --type dmg --app-image build/GanttProject.app -n "ganttproject-notarized" --dest build/ - - - id: 'auth' - uses: 'google-github-actions/auth@v1' - with: - credentials_json: '${{ secrets.GCP_CREDENTIALS }}' - - - name: 'Set up Cloud SDK' - uses: 'google-github-actions/setup-gcloud@v1' - - - name: 'Use gcloud CLI' - run: 'gcloud info' - name: Upload artifacts run: | @@ -260,4 +200,70 @@ jobs: cd build for f in *.dmg; do gsutil cp $f gs://dl.ganttproject.biz && gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/$f; - done; \ No newline at end of file + done; + +# macOS_intel: +# runs-on: macos-13 +# steps: +# - uses: actions/checkout@v3 +# - name: Checkout submodules +# shell: bash +# run: | +# git submodule sync --recursive +# git submodule update --init --force --recursive --depth=1 +# echo "$VERSION" > ganttproject-builder/VERSION +# - uses: actions/setup-java@v3 +# with: +# distribution: 'liberica' +# java-version: 17.0.12 +# java-package: jdk+fx +# cache: 'gradle' +# - name: Build GanttProject +# run: | +# ./gradlew distbin +# echo "===== PLUGINS =====" +# ls ganttproject-builder/dist-bin/plugins/base +# +# - name: Build GanttProject.app +# run: | +# ./build-bin/package-mac.sh +# ./build/GanttProject.app/Contents/MacOS/GanttProject -h || echo "failed to run" +# +# - name: Sign GanttProject.app +# run: | +# echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12 +# +# security create-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain +# security default-keychain -s build.keychain +# security unlock-keychain -p "$MACOS_CI_KEYCHAIN_PWD" build.keychain +# security import certificate.p12 -k build.keychain -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign +# security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$MACOS_CI_KEYCHAIN_PWD" build.keychain +# +# echo "------------------ NOW SIGNING ------------------------" +# +# build-bin/notarize.sh $VERSION "BarD Software s.r.o" "--" sign build.keychain +# +# jpackage --type dmg --app-image build/GanttProject.app -n "ganttproject" --dest build/ +# build-bin/notarize.sh $VERSION "BarD Software s.r.o" "$MACOS_NOTARIZE_PASSWORD" notarize +# build-bin/notarize.sh $VERSION "BarD Software s.r.o" "--" staple +# rm build/*.dmg +# jpackage --type dmg --app-image build/GanttProject.app -n "ganttproject-notarized" --dest build/ +# +# - id: 'auth' +# uses: 'google-github-actions/auth@v1' +# with: +# credentials_json: '${{ secrets.GCP_CREDENTIALS }}' +# +# - name: 'Set up Cloud SDK' +# uses: 'google-github-actions/setup-gcloud@v1' +# +# - name: 'Use gcloud CLI' +# run: 'gcloud info' +# +# - name: Upload artifacts +# run: | +# #!/bin/sh +# cd build +# for f in *.dmg; do +# gsutil cp $f gs://dl.ganttproject.biz && gsutil acl ch -u AllUsers:R gs://dl.ganttproject.biz/$f; +# done; \ No newline at end of file diff --git a/ganttproject-builder/BUILD-HISTORY-MAJOR b/ganttproject-builder/BUILD-HISTORY-MAJOR index fff127e2a..74cf5437c 100644 --- a/ganttproject-builder/BUILD-HISTORY-MAJOR +++ b/ganttproject-builder/BUILD-HISTORY-MAJOR @@ -2,4 +2,5 @@ 2024-05-28 3309 again, now with macOS Intel in the workflow 2024-09-30 3312 Package deps for Ubuntu and new public key for updates 2024-09-30 3312 again, with update JRE and hopefully with notarized macOS Silicon +2024-09-30 3312 +1 -- \ No newline at end of file