tachiyomi-extensions-inspector/.github/workflows/build_push.yml
2021-05-24 16:34:12 +04:30

145 lines
4.0 KiB
YAML

name: CI build
on:
push:
branches:
- master
jobs:
check_wrapper:
name: Validate Gradle Wrapper
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
build:
name: Build artifacts and deploy preview
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.5.0
with:
access_token: ${{ github.token }}
- name: Checkout master branch
uses: actions/checkout@v2
with:
ref: master
path: master
fetch-depth: 0
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Copy CI gradle.properties
run: |
cd master
mkdir -p ~/.gradle
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
- name: Download android.jar
run: |
cd master
curl https://raw.githubusercontent.com/AriaMoradi/Tachidesk/android-jar/android.jar -o AndroidCompat/lib/android.jar
- name: Cache node_modules
uses: actions/cache@v2
with:
path: |
**/react/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/react/yarn.lock') }}
# - name: Build and copy webUI, Build Jar
# uses: eskatos/gradle-command-action@v1
# with:
# build-root-directory: master
# wrapper-directory: master
# arguments: :webUI:copyBuild :server:shadowJar --stacktrace
# wrapper-cache-enabled: true
# dependencies-cache-enabled: true
# configuration-cache-enabled: true
- name: Mock Build and copy webUI, Build Jar
run: |
mkdir -p master/server/build
cd master/server/build
touch Tachidesk-v0.3.8-r580.jar
- name: Generate Tag Name
id: GenTagName
run: |
cd master/server/build
echo "$(ls *.jar | sed -e's/Tachidesk-v\|.jar//g')"
echo "::set-output name=value::$(ls *.jar | sed -e's/Tachidesk-v\|.jar//g')"
# - name: Create tag
# uses: actions/github-script@v3
# env:
# TAG: ${{ steps.GenTagName.value }}
# with:
# github-token: ${{ github.DEPLOY_PREVIEW_TOKEN }}
# script: |
# const { TAG } = process.env
#
# github.git.createTag({
# owner: "Suwayomi",
# repo: "Tachidesk",
# tag: TAG,
# })
# - name: make windows packages
# run: |
# cd master/scripts
# ./windows-bundler.sh win32
# ./windows-bundler.sh win64
- name: Mock make windows packages
run: |
cd master/server/build
touch Tachidesk-v0.3.8-r580.zip
- name: Checkout preview branch
uses: actions/checkout@v2
with:
repository: 'Suwayomi/Tachidesk-preview'
ref: main
path: preview
token: ${{ secrets.DEPLOY_PREVIEW_TOKEN }}
- name: Create Tag
env:
TAG: ${{ steps.GenTagName.value }}
run: |
cd preview
git tag $TAG
git push origin main $TAG
- name: Upload Preview Release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.DEPLOY_PREVIEW_TOKEN }}
artifacts: "master/server/build/*.jar,master/server/build/*.zip"
draft: true
owner: "Suwayomi"
repo: "Tachidesk-preview"
tag: ${{ steps.GenTagName.value }}
# - name: Upload Release
# uses: xresloader/upload-to-github-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# file: "master/server/build/*.jar;master/server/build/*.zip"
# draft: false
# verbose: true