Run workflow jobs toghether (#371)
* Run scripts in parallel * Re enable deb package builds
This commit is contained in:
@@ -9,28 +9,26 @@ jobs:
|
||||
check_wrapper:
|
||||
name: Validate Gradle Wrapper
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Clone repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Validate Gradle Wrapper
|
||||
uses: gradle/wrapper-validation-action@v1
|
||||
|
||||
build:
|
||||
name: Build artifacts and deploy preview
|
||||
name: Build Jar
|
||||
needs: check_wrapper
|
||||
if: "!startsWith(github.event.head_commit.message, '[SKIP CI]')"
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Cancel previous runs
|
||||
uses: styfle/cancel-workflow-action@0.9.0
|
||||
uses: styfle/cancel-workflow-action@0.10.0
|
||||
with:
|
||||
access_token: ${{ github.token }}
|
||||
|
||||
- name: Checkout master branch
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: master
|
||||
path: master
|
||||
@@ -59,33 +57,129 @@ jobs:
|
||||
dependencies-cache-enabled: true
|
||||
configuration-cache-enabled: true
|
||||
|
||||
- name: Generate Tag Name
|
||||
id: GenTagName
|
||||
run: |
|
||||
cd master/server/build
|
||||
genTag=$(ls *.jar | sed -e's/Tachidesk-Server-\|.jar//g')
|
||||
echo "$genTag"
|
||||
echo "::set-output name=value::$genTag"
|
||||
|
||||
- name: make bundle packages
|
||||
run: |
|
||||
cd master/scripts
|
||||
./bundler.sh -o ../../master/server/build/ windows-x86
|
||||
./bundler.sh -o ../../master/server/build/ windows-x64
|
||||
./bundler.sh -o ../../master/server/build/ linux-all
|
||||
./bundler.sh -o ../../master/server/build/ linux-x64
|
||||
./bundler.sh -o ../../master/server/build/ debian-all
|
||||
./bundler.sh -o ../../master/server/build/ macOS-x64
|
||||
./bundler.sh -o ../../master/server/build/ macOS-arm64
|
||||
|
||||
- name: Checkout preview branch
|
||||
uses: actions/checkout@v2
|
||||
- name: Upload Jar
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
repository: 'Suwayomi/Tachidesk-Server-preview'
|
||||
name: jar
|
||||
path: master/server/build/*.jar
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Upload icons
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: icon
|
||||
path: master/server/src/main/resources/icon
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Tar scripts dir to maintain file permissions
|
||||
run: tar -cvzf scripts.tar.gz -C master/ scripts/
|
||||
- name: Upload scripts.tar.gz
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: scripts
|
||||
path: scripts.tar.gz
|
||||
if-no-files-found: error
|
||||
|
||||
bundle:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- linux-x64
|
||||
- linux-all
|
||||
- macOS-x64
|
||||
- macOS-arm64
|
||||
- debian-all
|
||||
- windows-x64
|
||||
- windows-x86
|
||||
|
||||
name: Make ${{ matrix.os }} release
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download Jar
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: jar
|
||||
path: server/build
|
||||
|
||||
- name: Download icons
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: icon
|
||||
path: server/src/main/resources/icon
|
||||
|
||||
- name: Download scripts.tar.gz
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: scripts
|
||||
|
||||
- name: Make ${{ matrix.os }} release
|
||||
run: |
|
||||
mkdir upload
|
||||
tar -xvpf scripts.tar.gz
|
||||
scripts/bundler.sh -o upload/ ${{ matrix.os }}
|
||||
|
||||
- name: Upload ${{ matrix.os }} release
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.os }}
|
||||
path: upload/*
|
||||
if-no-files-found: error
|
||||
|
||||
release:
|
||||
needs: bundle
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: jar
|
||||
path: release
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: linux-x64
|
||||
path: release
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: linux-all
|
||||
path: release
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: macOS-x64
|
||||
path: release
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: macOS-arm64
|
||||
path: release
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: debian-all
|
||||
path: release
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: windows-x64
|
||||
path: release
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: windows-x86
|
||||
path: release
|
||||
|
||||
- name: Checkout Preview branch
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: "Suwayomi/Tachidesk-Server-preview"
|
||||
ref: main
|
||||
path: preview
|
||||
token: ${{ secrets.DEPLOY_PREVIEW_TOKEN }}
|
||||
|
||||
- name: Generate Tag Name
|
||||
id: GenTagName
|
||||
run: |
|
||||
cd release
|
||||
genTag=$(ls *.jar | sed -e's/Tachidesk-Server-\|.jar//g')
|
||||
echo "$genTag"
|
||||
echo "::set-output name=value::$genTag"
|
||||
|
||||
- name: Create Tag
|
||||
run: |
|
||||
TAG="${{ steps.GenTagName.outputs.value }}"
|
||||
@@ -93,7 +187,8 @@ jobs:
|
||||
cd preview
|
||||
echo "{ \"latest\": \"$TAG\" }" > index.json
|
||||
git add index.json
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.email \
|
||||
"github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git commit -m "Updated to $TAG"
|
||||
git push origin main
|
||||
@@ -102,10 +197,10 @@ jobs:
|
||||
git push origin $TAG
|
||||
|
||||
- name: Upload Preview Release
|
||||
uses: ncipollo/release-action@v1
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
token: ${{ secrets.DEPLOY_PREVIEW_TOKEN }}
|
||||
artifacts: "master/server/build/*.jar,master/server/build/*.msi,master/server/build/*.zip,master/server/build/*.tar.gz,master/server/build/*.deb"
|
||||
owner: "Suwayomi"
|
||||
repo: "Tachidesk-Server-preview"
|
||||
tag: ${{ steps.GenTagName.outputs.value }}
|
||||
repository: "Suwayomi/Tachidesk-Server-preview"
|
||||
tag_name: ${{ steps.GenTagName.outputs.value }}
|
||||
files: release/*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user