111 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: CI
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - master
 | 
						|
    paths-ignore:
 | 
						|
      - '**.md'
 | 
						|
      - '.github/workflows/issue_moderator.yml'
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
concurrency:
 | 
						|
  group: ${{ github.workflow }}
 | 
						|
  cancel-in-progress: true
 | 
						|
 | 
						|
env:
 | 
						|
  CI_CHUNK_SIZE: 65
 | 
						|
 | 
						|
jobs:
 | 
						|
  prepare:
 | 
						|
    name: Prepare job
 | 
						|
    runs-on: arch
 | 
						|
    env:
 | 
						|
      CI_MODULE_GEN: true
 | 
						|
    steps:
 | 
						|
      - name: Clone repo
 | 
						|
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
 | 
						|
 | 
						|
  build_individual:
 | 
						|
    name: Build individual modules
 | 
						|
    needs: prepare
 | 
						|
    runs-on: arch
 | 
						|
    steps:
 | 
						|
      - name: Checkout master branch
 | 
						|
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
 | 
						|
 | 
						|
      - name: Set up JDK
 | 
						|
        uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
 | 
						|
        with:
 | 
						|
          java-version: 17
 | 
						|
          distribution: temurin
 | 
						|
 | 
						|
      - name: Prepare signing key
 | 
						|
        run: |
 | 
						|
          echo ${{ secrets.SIGNING_KEY }} | base64 -d > signingkey.jks
 | 
						|
 | 
						|
      - name: Set up Gradle
 | 
						|
        uses: gradle/actions/setup-gradle@94baf225fe0a508e581a564467443d0e2379123b # v4.3.0
 | 
						|
 | 
						|
      - name: Build extensions
 | 
						|
        env:
 | 
						|
          ALIAS: ${{ secrets.ALIAS }}
 | 
						|
          KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
 | 
						|
          KEY_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
 | 
						|
        run: ./gradlew -p src assembleRelease
 | 
						|
        
 | 
						|
 | 
						|
      - name: Upload APKs
 | 
						|
        uses: actions/upload-artifact@v3
 | 
						|
        with:
 | 
						|
          name: "individual-apks"
 | 
						|
          path: "**/*.apk"
 | 
						|
          retention-days: 1
 | 
						|
 | 
						|
      - name: Clean up CI files
 | 
						|
        run: rm signingkey.jks
 | 
						|
 | 
						|
  publish_repo:
 | 
						|
    name: Publish repo
 | 
						|
    needs:
 | 
						|
      - build_individual
 | 
						|
    runs-on: arch
 | 
						|
    steps:
 | 
						|
      - name: Download APK artifacts
 | 
						|
        uses: actions/download-artifact@v3 # v4.1.8
 | 
						|
        with:
 | 
						|
          path: ~/apk-artifacts
 | 
						|
 | 
						|
      - name: Set up JDK
 | 
						|
        uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
 | 
						|
        with:
 | 
						|
          java-version: 17
 | 
						|
          distribution: temurin
 | 
						|
 | 
						|
      - name: Checkout master branch
 | 
						|
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
 | 
						|
        with:
 | 
						|
          ref: master
 | 
						|
          path: master
 | 
						|
 | 
						|
      - name: Create repo artifacts
 | 
						|
        run: |
 | 
						|
          cd master
 | 
						|
          python ./.github/scripts/move-built-apks.py
 | 
						|
          INSPECTOR_LINK="$(curl -s "https://api.github.com/repos/keiyoushi/extensions-inspector/releases/latest" | jq -r '.assets[0].browser_download_url')"
 | 
						|
          curl -L "$INSPECTOR_LINK" -o ./Inspector.jar
 | 
						|
          java -jar ./Inspector.jar "repo/apk" "output.json" "tmp"
 | 
						|
          python ./.github/scripts/create-repo.py
 | 
						|
 | 
						|
      - name: Checkout repo branch
 | 
						|
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
 | 
						|
        with:
 | 
						|
          ref: repo
 | 
						|
          path: repo
 | 
						|
 | 
						|
      - name: Deploy repo
 | 
						|
        run: |
 | 
						|
          cd repo
 | 
						|
          ../master/.github/scripts/commit-repo.sh
 | 
						|
          rm -r ~/apk-artifacts
 |