name: CI Publish on: push: tags: - 'v*' 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 release needs: check_wrapper runs-on: ubuntu-latest steps: - name: Cancel previous runs uses: styfle/cancel-workflow-action@0.9.0 with: access_token: ${{ github.token }} - name: Checkout ${{ github.ref }} uses: actions/checkout@v2 with: ref: ${{ github.ref }} 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/Suwayomi/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('**/webUI/yarn.lock') }} - name: Build and copy webUI, Build Jar uses: eskatos/gradle-command-action@v1 env: TachideskBuildType: "Stable" 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: make windows packages run: | cd master/scripts ./windows-bundler.sh win32 ./windows-bundler.sh win64 - 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" tags: true draft: true verbose: true - name: Run Docker build workflow run: | curl -X POST -H "Accept: application/vnd.github.v3+json" -H "Authorization: token ${{ secrets.DEPLOY_PREVIEW_TOKEN }}" -d '{"ref":"main", "inputs":{"tachidesk_release_type": "stable"}}' https://api.github.com/repos/suwayomi/docker-tachidesk/actions/workflows/build_container_images.yml/dispatches