name: Create tag on: push: branches: - release workflow_dispatch: jobs: build: uses: ./.gitea/workflows/common_build.yml createTagAndChangelog: runs-on: ubuntu-latest needs: build steps: - name: Check out repository code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Config git run: | git config --global user.email aminecmi+giteadrone@pm.me git config --global user.name giteadrone - name: Creating the tag and generate changelog run: | git fetch --tags -p PREV=$(git describe --tags --abbrev=0) ./build.sh --publish --from-ci VER=$(git describe --tags --abbrev=0) CHANGELOG=$(git log $PREV..HEAD --pretty="- %s") echo "**$VER $CHANGELOG -------------------------------------------------------------------- $(cat CHANGELOG.md)" > CHANGELOG.md git add CHANGELOG.md touch ./fastlane/metadata/android/en\-US/changelogs/$VER.txt echo "**$VER** $CHANGELOG" > ./fastlane/metadata/android/en\-US/changelogs/$VER.txt git add ./fastlane/metadata/android/en\-US/changelogs/$VER.txt git commit -m "Changelog for $VER" - name: Push changes uses: appleboy/git-push-action@v1.0.0 with: author_name: giteadrone author_email: aminecmi+giteadrone@pm.me remote: ${{ secrets.REMOTE_URL }} followtags: true ssh_key: ${{ secrets.PRIVATE_KEY }} tags: true branch: release - name: copy file via ssh password uses: appleboy/scp-action@v0.1.7 with: host: amine-bouabdallaoui.fr username: ubuntu key: ${{ secrets.PRIVATE_KEY }} source: "version.txt" target: "/home/ubuntu/" - name: deploy version file uses: appleboy/ssh-action@v1.2.0 with: host: amine-bouabdallaoui.fr username: ubuntu key: ${{ secrets.PRIVATE_KEY }} script: cd /home/ubuntu && sudo rm -rf /var/www/amine/version.txt && sudo chown www-data:www-data ./version.txt && sudo mv version.txt /var/www/amine/ release: runs-on: ubuntu-latest needs: createTagAndChangelog steps: - name: Check out repository code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Fetch tags id: version run: | git fetch --tags -p PREV=$(git describe --tags --abbrev=0) echo $PREV echo "VERSION=$PREV" >> $GITHUB_OUTPUT - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' - name: Setup Android SDK uses: android-actions/setup-android@v3 - name: Configure gradle... run: mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=false\nsystemProp.org.gradle.internal.http.connectionTimeout=180000\nsystemProp.org.gradle.internal.http.socketTimeout=180000" >> ~/.gradle/gradle.properties - name: setup go uses: https://github.com/actions/setup-go@v4 with: go-version: '>=1.20.1' - name: Generate APK run: ./gradlew :androidApp:assembleGithubConfigRelease - name: Get Key run: wget ${{ secrets.KEY_URL }} - name: Zippalign run: | sdkmanager "build-tools;31.0.0" ls $ANDROID_HOME/build-tools $ANDROID_HOME/build-tools/31.0.0/zipalign -f -v 4 androidApp/build/outputs/apk/githubConfig/release/androidApp-githubConfig-release-unsigned.apk androidApp/build/outputs/apk/githubConfig/release/android-prod-released-ziped.apk - name: Sigh run: $ANDROID_HOME/build-tools/31.0.0/apksigner sign -v --out signed.apk --ks ./key --ks-key-alias ${{ secrets.KEY_ALIAS }} --ks-pass pass:${{ secrets.KEYSTORE_PASSWORD }} --v1-signing-enabled true --v2-signing-enabled true androidApp/build/outputs/apk/githubConfig/release/android-prod-released-ziped.apk - name: Verify run: $ANDROID_HOME/build-tools/31.0.0/apksigner verify signed.apk - name: Release uses: https://gitea.com/actions/gitea-release-action@main with: files: signed.apk token: ${{ secrets.API_KEY }} tag_name: ${{ steps.version.outputs.VERSION }} name: ${{ steps.version.outputs.VERSION }} - name: Send mail uses: https://github.com/dawidd6/action-send-mail@v4 with: connection_url: ${{ secrets.MAIL_CONNECTION }} to: ${{ secrets.MAIL_TO }} from: ${{ secrets.MAIL_FROM }} subject: Mapping file priority: high convert_markdown: true body: Nouveau fichier de mapping pour la version ${{ steps.version.outputs.VERSION }} attachments: androidApp/build/outputs/mapping/githubConfigRelease/mapping.txt