Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Create internal release on every commit #2983

Merged
merged 4 commits into from
Sep 22, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ jobs:
- name: Release AAB
uses: maierj/[email protected]
with:
lane: closed_beta
lane: release
subdirectory: packages/smooth_app/android
env:
SIGN_STORE_PATH: ./../fastlane/envfiles/keystore.jks
Expand Down
95 changes: 95 additions & 0 deletions .github/workflows/internal-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Create internal releases
on:
push:
branches:
- develop


jobs:
tag-commit:
concurrency:
group: release
cancel-in-progress: true
if: "!contains(github.event.commits[0].message, 'chore(develop): release')"
runs-on: ubuntu-latest
outputs:
VERSION_NAME: ${{ steps.set_output.outputs.VERSION_NAME }}
VERSION_CODE: ${{ steps.set_output.outputs.VERSION_CODE }}

steps:
- uses: actions/checkout@v2

# Get the latest version name from file
- name: Set VERSION_NAME env
run: echo "VERSION_NAME=$(cat version.txt)>> $GITHUB_ENV
#run: echo "VERSION_NAME=1.9.0" >> $GITHUB_ENV

- name: Decrypt Android API JSON file
run: cd ./packages/smooth_app/android/fastlane/envfiles && chmod +x ./decrypt_secrets.sh && ./decrypt_secrets.sh
env:
API_JSON_FILE_DECRYPTKEY: ${{ secrets.API_JSON_FILE_DECRYPTKEY }}
DECRYPT_GPG_KEYSTORE: ${{ secrets.DECRYPT_GPG_KEYSTORE }}
STORE_JKS_DECRYPTKEY: ${{ secrets.NEW_CYPHER }}

# We are using the android version code for iOS as well to have the version codes in sync
M123-dev marked this conversation as resolved.
Show resolved Hide resolved
# in order for Sentry and other tools to work properly
# Outputs env: VERSION_CODE (integer)
- name: Get latest VERSION_CODE
uses: maierj/[email protected]
with:
lane: getOldVersionCode
subdirectory: packages/smooth_app/android

- name: Version
run: echo "${{ env.VERSION_NAME }}+${{ env.VERSION_CODE }}"

- name: Tag commit
uses: rickstaa/action-create-tag@v1
with:
tag: "Internal: ${{ env.VERSION_NAME }}+${{ env.VERSION_CODE }}"
message: "Internal release: ${{ env.VERSION_NAME }}+${{ env.VERSION_CODE }}"

- name: Set output
id: set_output
run: echo "::set-output name=VERSION_NAME::${{ env.VERSION_NAME }}" && echo "::set-output name=VERSION_CODE::${{ env.VERSION_CODE }}"

android-release:
concurrency:
group: android-release
cancel-in-progress: true
uses: openfoodfacts/smooth-app/.github/workflows/android-release-main.yml@develop
needs: tag-commit
with:
VERSION_NAME: ${{ needs.create-release.outputs.VERSION_NAME}}
VERSION_CODE: ${{ needs.create-release.outputs.VERSION_CODE}}
FLUTTER-CACHE-KEY: '3.3.x'
secrets:
API_JSON_FILE_DECRYPTKEY: ${{secrets.API_JSON_FILE_DECRYPTKEY }}
DECRYPT_GPG_KEYSTORE: ${{secrets.DECRYPT_GPG_KEYSTORE }}
STORE_JKS_DECRYPTKEY: ${{secrets.NEW_CYPHER }}
SIGN_STORE_PASSWORD: ${{secrets.DECRYPT_FOR_SCANNER_FILE }}
SIGN_KEY_ALIAS: ${{secrets.ALIAS_FOR_SCANNER }}
SIGN_KEY_PASSWORD: ${{secrets.KEY_FOR_SCANNER }}

iOS-release:
concurrency:
group: iOS-release
cancel-in-progress: true
uses: openfoodfacts/smooth-app/.github/workflows/ios-release-main.yml@develop
needs: tag-commit
with:
VERSION_NAME: ${{ needs.create-release.outputs.VERSION_NAME}}
VERSION_CODE: ${{ needs.create-release.outputs.VERSION_CODE}}
FLUTTER-CACHE-KEY: '3.3.x'
secrets:
SENTRY_AUTH_TOKEN: ${{secrets.SENTRY_AUTH_TOKEN }}
FASTLANE_USER: ${{secrets.FASTLANE_USER }}
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}
MATCH_GIT_BASIC_AUTHORIZATION: ${{secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
MATCH_GIT_URL: ${{secrets.MATCH_GIT_URL }}
MATCH_KEYCHAIN_PASSWORD: ${{secrets.MATCH_KEYCHAIN_PASSWORD }}
MATCH_PASSWORD: ${{secrets.MATCH_PASSWORD }}
PILOT_APPLE_ID: ${{secrets.PILOT_APPLE_ID }}
SPACESHIP_CONNECT_API_ISSUER_ID: ${{secrets.SPACESHIP_CONNECT_API_ISSUER_ID }}
SPACESHIP_CONNECT_API_KEY_ID: ${{secrets.SPACESHIP_CONNECT_API_KEY_ID }}
AUTH_KEY_FILE_DECRYPTKEY: ${{ secrets.AUTH_KEY_FILE_DECRYPTKEY }}
18 changes: 11 additions & 7 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,18 @@ jobs:
minor: ${{ steps.release_please.outputs.minor }}
patch: ${{ steps.release_please.outputs.patch }}
steps:
- uses: google-github-actions/release-please-action@v3
- name: Release-please
uses: google-github-actions/release-please-action@v3
id: release_please
with:
token: ${{ secrets.GITHUB_TOKEN }}
release-type: simple
changelog-types: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"docs","section":"Documentation","hidden":false},{"type":"ci","section":"Automation","hidden":false},{"type":"refactor","section":"Refactoring","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":false}]'

create-release:
concurrency:
group: release
cancel-in-progress: false
runs-on: ubuntu-latest
needs: release-please
if: ${{ needs.release-please.outputs.release_created }}
Expand Down Expand Up @@ -55,17 +59,14 @@ jobs:
- name: Version
run: echo "${{ env.VERSION_NAME }}+${{ env.VERSION_CODE }}"

- name: Tag commit
uses: rickstaa/action-create-tag@v1
with:
tag: "${{ env.VERSION_NAME }}+${{ env.VERSION_CODE }}"
message: "Release: ${{ env.VERSION_NAME }}+${{ env.VERSION_CODE }}"

- name: Set output
id: set_output
run: echo "::set-output name=VERSION_NAME::${{ env.VERSION_NAME }}" && echo "::set-output name=VERSION_CODE::${{ env.VERSION_CODE }}"

android-release:
concurrency:
group: android-release
cancel-in-progress: false
uses: openfoodfacts/smooth-app/.github/workflows/android-release-to-org-openfoodfacts-scanner.yml@develop
needs: [release-please, create-release]
if: ${{ needs.release-please.outputs.release_created }}
Expand All @@ -82,6 +83,9 @@ jobs:
SIGN_KEY_PASSWORD: ${{secrets.KEY_FOR_SCANNER }}

iOS-release:
concurrency:
group: iOS-release
cancel-in-progress: false
uses: openfoodfacts/smooth-app/.github/workflows/ios-release-to-org-openfoodfacts-scanner.yml@develop
needs: [release-please, create-release]
if: ${{ needs.release-please.outputs.release_created }}
Expand Down
2 changes: 1 addition & 1 deletion packages/smooth_app/android/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ platform :android do
end

desc "Deploy to internal"
lane :closed_beta do
lane :release do
begin
#gradle(task: "clean")
#gradle(
Expand Down
22 changes: 11 additions & 11 deletions packages/smooth_app/ios/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@ platform :ios do
)

# build your iOS app
gym(
configuration: "Release",
workspace: "Runner.xcworkspace",
scheme: "Runner",
export_method: "app-store",
export_options: {
provisioningProfiles: {
"org.openfoodfacts.scanner" => "match AppStore org.openfoodfacts.scanner",
}
}
)
#gym(
# configuration: "Release",
# workspace: "Runner.xcworkspace",
# scheme: "Runner",
# export_method: "app-store",
# export_options: {
# provisioningProfiles: {
# "org.openfoodfacts.scanner" => "match AppStore org.openfoodfacts.scanner",
# }
# }
#)

# Upload to test flight
pilot(
Expand Down