Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.46 KiB
workflow:
  name: 'Circles release workflow'
  rules:
    - if: $CI_COMMIT_TAG

cache:
  key: ${CI_PROJECT_ID}
  paths:
    - .gradle/

stages:
  - build
  - release
  - deploy
  - message

before_script:
  - chmod +x ./gradlew
  - echo -n ${SIGNING_KEY_BASE64} | base64 -d > circuli_key.jks
  - echo "KEY_PATH=../circuli_key.jks" > signing.properties
  - echo "KEY_PASSWORD=${KEY_PASSWORD}" >> signing.properties
  - echo "ALIAS_NAME=${ALIAS_NAME}" >> signing.properties

buildAndPushFdroid:
  image: softartdev/android-fastlane
  stage: build
  script:
    - echo "Building F-Droid apk"
    - ./gradlew clean
    - ./gradlew assembleFdroidRelease
    - apt-get update -qy && apt-get upgrade -qy
    - apt-get install -y git
    - git config --global user.email "taras@futo.org"
    - git config --global user.name "ci-bot"
    - echo "Push build to master"
    - git remote set-url origin https://gitlab-ci-token:${GITLAB_ACCESS_TOKEN}@gitlab.futo.org/circles/circles-android.git
    - git add -f app/build/outputs/apk/fdroid/release/circles-$CI_COMMIT_TAG-fdroid-release.apk
    - git mv app/build/outputs/apk/fdroid/release/circles-$CI_COMMIT_TAG-fdroid-release.apk .
    - git commit -m "Add F-Droid release apk $CI_COMMIT_TAG"
    - git push origin HEAD:main -o ci.skip
    - echo "Push build to fdroid repo"
    - cd ..
    - rm -rf circles-fdroid-repo
    - git clone https://gitlab-ci-token:${FDROID_REPO_GITLAB_ACCESS_TOKEN}@gitlab.futo.org/circles/circles-fdroid-repo.git
    - cp circles-android/circles-$CI_COMMIT_TAG-fdroid-release.apk circles-fdroid-repo/fdroid/repo
    - cd circles-fdroid-repo
    - git add -f fdroid/repo/circles-$CI_COMMIT_TAG-fdroid-release.apk
    - git commit -m "Add F-Droid release apk $CI_COMMIT_TAG"
    - git push origin HEAD:main

createGitlabRelease:
  stage: release
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  script:
    - echo "Running the release job"
    - CHANGELOG_FILE_PATH=$(ls -l fastlane/metadata/android/en-US/changelogs/*.txt | sort -k 9,9 -r | head -n 1 | awk '{print $NF}')
    - CHANGELOG_TEXT=$(cat $CHANGELOG_FILE_PATH)
    - echo -e $CHANGELOG_TEXT >> description.txt
  release:
    tag_name: $CI_COMMIT_TAG
    name: 'Version $CI_COMMIT_TAG'
    description: description.txt
    assets:
      links:
        - name: 'F-Droid release apk $CI_COMMIT_TAG'
          url: 'https://gitlab.futo.org/circles/circles-android/-/raw/main/circles-$CI_COMMIT_TAG-fdroid-release.apk?ref_type=heads'



uploadPlayStoreBeta: