Update gradle/actions action to v4 (#125) #180
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update | |
on: | |
push: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
update_files: | |
name: Update files | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone repo | |
uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
architecture: x64 | |
- name: Set up gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Setup Cl | |
run: ./scripts/SetupClUnix.sh | |
- uses: dorny/paths-filter@v3 | |
id: changes | |
with: | |
filters: | | |
config: | |
- 'buildSrc/src/main/kotlin/Config.kt' | |
locales: | |
- 'i18n/**' | |
versions: | |
- 'gradle/libs.versions.toml' | |
kt: | |
- '**.kt' | |
- name: Update Locales | |
if: steps.changes.outputs.locales == 'true' | |
run: ./gradlew generateLocales | |
- name: Commit locale changes | |
if: steps.changes.outputs.locales == 'true' | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: Update available Locales | |
push: false | |
- name: Update Libraries | |
if: steps.changes.outputs.versions == 'true' | |
run: ./gradlew desktop:exportLibraryDefinitions -PexportPath=build | |
- name: Move libraries json | |
if: steps.changes.outputs.versions == 'true' | |
run: | | |
mkdir -p build | |
jq 'del(.metadata)' --sort-keys desktop/build/aboutlibraries.json > build/json1.json | |
jq 'del(.metadata)' --sort-keys i18n/src/commonMain/moko-resources/files/aboutlibraries.json > build/json2.json | |
if cmp --silent build/json1.json build/json2.json; then | |
echo "Libraries didn't change" | |
else | |
mv desktop/build/aboutlibraries.json i18n/src/commonMain/moko-resources/files/aboutlibraries.json -f | |
echo "Moved file" | |
fi | |
- name: Commit library changes | |
if: steps.changes.outputs.versions == 'true' | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: Update Libraries | |
push: false | |
- name: Format files | |
if: steps.changes.outputs.kt == 'true' | |
run: ./gradlew formatKotlin | |
- name: Commit lint changes | |
if: steps.changes.outputs.kt == 'true' | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: Automatic Lint | |
push: false | |
- name: Build Suwayomi-Server | |
if: steps.changes.outputs.config == 'true' | |
run: ./gradlew desktop:setupTachideskJar | |
- name: Run Suwayomi-Server | |
if: steps.changes.outputs.config == 'true' | |
run: | | |
# Run the JAR file | |
java -jar desktop/src/main/resources/Tachidesk.jar > output.log & | |
# Capture the PID of the Java process | |
pid=$! | |
# Wait for 'Javalin started' message | |
while true; do | |
if grep -q "Javalin started" <(tail -n 5 output.log); then | |
break | |
fi | |
sleep 1 | |
done | |
# Query the GraphQL endpoint and save the result to a file | |
./gradlew :data:downloadApolloSchema --endpoint='http://localhost:4567/api/graphql' --schema=data/src/commonMain/graphql/schema.graphqls | |
# Kill the Java process | |
kill $pid | |
rm output.log | |
- name: Commit library changes | |
if: steps.changes.outputs.config == 'true' | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: Update Scheme | |
push: false | |
- name: Push changes | |
uses: ad-m/github-push-action@master | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
branch: ${{ github.ref }} |