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

chore: cut release #39

Merged
merged 37 commits into from
May 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
ae7e032
refactor: prevent destroying modal on close (#3)
Seavenly Sep 8, 2023
e6e59a4
chore: Update README and split out DEVELOPMENT (#2)
merlinpaypal Sep 26, 2023
d72ccee
feat: add instance_id (#4)
grablack Sep 27, 2023
c32defe
feat: base of GitHub workflows (#5)
merlinpaypal Sep 27, 2023
2fa1ea1
fix: update shared data (#7)
merlinpaypal Sep 27, 2023
1550f44
fix: remove kotlinter
merlinpaypal Sep 27, 2023
4b33504
feat: xml demo (#6)
grablack Oct 18, 2023
84316bb
refactor: use dot getters and setters (#9)
merlinpaypal Oct 18, 2023
8a22f0b
ci: lint and test (#8)
merlinpaypal Oct 24, 2023
bc58ce2
chore: remove currency references (#12)
merlinpaypal Nov 20, 2023
6434e30
refactor: route changes (#13)
grablack Nov 30, 2023
960a48a
refactor: radio offer type and other things (#11)
merlinpaypal Nov 30, 2023
d63f834
feat: package pre-release (#14)
grablack Jan 11, 2024
51d9ec6
ci: functional tests (#16)
merlinpaypal Jan 12, 2024
b06039c
feat: use nested coroutine to prevent blocking (#19)
merlinpaypal Jan 12, 2024
9efb3bb
feat: update message view to use its own instance id (#20)
merlinpaypal Jan 31, 2024
a47065e
feat: jetpack compose demo (#10)
grablack Feb 12, 2024
6347be3
refactor: adjust logo alignment (#23)
grablack Feb 14, 2024
acfc3ff
refactor: clone to prevent shallow copy (#25)
grablack Feb 22, 2024
7d0a043
feat: debounce config updates (#24)
merlinpaypal Feb 26, 2024
c79e439
feat: page type (#26)
merlinpaypal Mar 2, 2024
a9a3fb8
ci: update semantic release (#21)
merlinpaypal Mar 5, 2024
101ade5
feat: modal updates (#28)
merlinpaypal Mar 18, 2024
b7b746f
refactor: prevent empty values (#29)
grablack Mar 20, 2024
f72ffda
fix: correct urls (#32)
merlinpaypal Apr 8, 2024
a7208eb
feat: session id and device id (#30)
merlinpaypal Apr 9, 2024
20644c8
feat: accessibility (#31)
merlinpaypal Apr 9, 2024
5bc02da
feat: create a snapshot workflow (#22)
grablack Apr 11, 2024
5265b5d
chore(release): 1.0.0-develop.1 [skip ci]
semantic-release-bot Apr 11, 2024
dc8dd61
fix: update tracking format (#33)
merlinpaypal Apr 19, 2024
ef69ce9
fix: allow messages to be updated any time (#34)
merlinpaypal Apr 19, 2024
20367ca
feat: remove session id and device id (#35)
merlinpaypal Apr 19, 2024
d3293c0
chore(release): 1.0.0-develop.2 [skip ci]
semantic-release-bot Apr 23, 2024
ff2ac5a
fix: general analytics fixes (#36)
merlinpaypal May 14, 2024
c95246f
fix: modal analytics fixes (#37)
merlinpaypal May 14, 2024
9ee294a
chore(release): 1.0.0-develop.3 [skip ci]
semantic-release-bot May 14, 2024
f7da086
ci: change os (#38)
merlinpaypal May 14, 2024
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
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,8 @@ indent_style = tab
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true

[*.{kt,kts}]
ktlint_code_style = ktlint_official
ktlint_standard_keyword-spacing = disabled
ktlint_standard_annotation = disabled
19 changes: 19 additions & 0 deletions .github/actions/decode_signing_key_action/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Decode signing key
description: 'Decodes gpg key into file'
inputs:
signing_key_file:
description: 'Signing key file'
required: true
default: ''
signing_file_path:
description: 'Signing file path'
required: true
default: ''
runs:
using: "composite"
steps:
# After decoding the secret key, place the file in signing_file_path
- run: |
echo "${{inputs.signing_key_file}}" > ~/secretKey.gpg.b64
base64 -d ~/secretKey.gpg.b64 > ${{ inputs.signing_file_path }}
shell: bash
35 changes: 35 additions & 0 deletions .github/actions/publish_all_modules/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: 'Publish All Modules'
description: 'Publishes all modules'
inputs:
sonatype_user:
description: 'Sonatype user'
required: true
default: ''
sonatype_password:
description: 'Sonatype password'
required: true
default: ''
signing_key_id:
description: 'Signing key id'
required: true
default: ''
signing_key_password:
description: 'Signing key password'
required: true
default: ''
signing_key_file:
description: 'Signing key file'
required: true
default: ''
runs:
using: "composite"
steps:
- run: |
./gradlew --stacktrace clean publishToSonatype closeAndReleaseSonatypeStagingRepository
shell: bash
env:
SONATYPE_NEXUS_USERNAME: ${{ inputs.sonatype_user }}
SONATYPE_NEXUS_PASSWORD: ${{ inputs.sonatype_password }}
SIGNING_KEY_ID: ${{ inputs.signing_key_id }}
SIGNING_KEY_PASSWORD: ${{ inputs.signing_key_password }}
SIGNING_KEY_FILE: ${{ inputs.signing_key_file }}
53 changes: 53 additions & 0 deletions .github/workflows/build-demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Build Demo
on:
pull_request: {}
workflow_dispatch: {}
workflow_call:
secrets:
SIGNING_KEY_ID:
description: 'Secret Key ID'
required: true
SIGNING_KEY_FILE:
description: 'Secret Key'
required: true
SIGNING_KEY_PASSWORD:
description: 'Secret Password'
required: true

concurrency:
group: build-demo-${{ github.event.number }}
cancel-in-progress: true

jobs:
build-demo:
name: Build Demo
runs-on: ubuntu-latest

env:
SIGNING_KEY_FILE_PATH: /home/runner/secretKey.gpg

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'microsoft'
cache: gradle

- name: Decode Signing Key
uses: ./.github/actions/decode_signing_key_action
with:
signing_key_file: ${{ secrets.SIGNING_KEY_FILE }}
signing_file_path: ${{ env.SIGNING_KEY_FILE_PATH }}

- name: Assemble
run: ./gradlew --stacktrace :demo:assemble
env:
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
SIGNING_KEY_FILE: ${{ env.SIGNING_KEY_FILE_PATH }}

- run: echo "Build status report=${{ job.status }}."
53 changes: 53 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Build Library
on:
pull_request: {}
workflow_dispatch: {}
workflow_call:
secrets:
SIGNING_KEY_ID:
description: 'Secret Key ID'
required: true
SIGNING_KEY_FILE:
description: 'Secret Key'
required: true
SIGNING_KEY_PASSWORD:
description: 'Secret Password'
required: true

concurrency:
group: build-${{ github.event.number }}
cancel-in-progress: true

jobs:
build:
name: Build Library
runs-on: ubuntu-latest

env:
SIGNING_KEY_FILE_PATH: /home/runner/secretKey.gpg

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'microsoft'
cache: gradle

- name: Decode Signing Key
uses: ./.github/actions/decode_signing_key_action
with:
signing_key_file: ${{ secrets.SIGNING_KEY_FILE }}
signing_file_path: ${{ env.SIGNING_KEY_FILE_PATH }}

- name: Assemble
run: ./gradlew --stacktrace :library:assemble
env:
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
SIGNING_KEY_FILE: ${{ env.SIGNING_KEY_FILE_PATH }}

- run: echo "Build status report=${{ job.status }}."
32 changes: 32 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Lint
on: [pull_request, workflow_dispatch, workflow_call]

concurrency:
group: lint-${{ github.event.number }}
cancel-in-progress: true

jobs:
lint:
name: Lint
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'microsoft'
cache: gradle

- name: Run Lint
run: ./gradlew ktLint
continue-on-error: true

- name: Get Lint Reports
uses: yutailang0119/action-ktlint@v3
with:
report-path: build/reports/ktlint/*.xml
continue-on-error: false
19 changes: 0 additions & 19 deletions .github/workflows/lintAndUnit.yml

This file was deleted.

70 changes: 70 additions & 0 deletions .github/workflows/release-snapshots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Snapshot Release
on:
workflow_dispatch: {}
env:
SIGNING_KEY_FILE_PATH: /home/runner/secretKey.gpg

jobs:
lint:
uses: ./.github/workflows/lint.yml

test:
uses: ./.github/workflows/release-test.yml

build:
uses: ./.github/workflows/build.yml
secrets:
SIGNING_KEY_FILE: ${{ secrets.SIGNING_KEY_FILE }}
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}

# after build and unit tests are finished, publish all modules at once
# to help reduce the probability of failure when interacting with sonatype servers
release:
name: Snapshot Release
needs: [lint, test, build]
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
# pulls all commits (needed for semantic release to correctly version)
fetch-depth: '0'
persist-credentials: false

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'microsoft'

- name: Decode Signing Key
uses: ./.github/actions/decode_signing_key_action
with:
signing_key_file: ${{ secrets.SIGNING_KEY_FILE }}
signing_file_path: ${{ env.SIGNING_KEY_FILE_PATH }}

- name: Set snapshot environment variable
run: echo "USE_SNAPSHOT=true" >> $GITHUB_ENV

- name: Install Semantic Release Dependencies
run: npm install

- name: GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONATYPE_NEXUS_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
SONATYPE_NEXUS_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
SIGNING_KEY_FILE: ${{ env.SIGNING_KEY_FILE_PATH }}
run: npx semantic-release@21

- name: Publish to Maven
uses: ./.github/actions/publish_all_modules
with:
sonatype_user: ${{ secrets.SONATYPE_SDKS_NEXUS_USERNAME }}
sonatype_password: ${{ secrets.SONATYPE_SDKS_NEXUS_PASSWORD }}
signing_key_id: ${{ secrets.SIGNING_KEY_ID }}
signing_key_password: ${{ secrets.SIGNING_KEY_PASSWORD }}
signing_key_file: ${{ env.SIGNING_KEY_FILE_PATH }}
68 changes: 68 additions & 0 deletions .github/workflows/release-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Test Release
on: [workflow_dispatch, workflow_call]

concurrency:
group: test-${{ github.event.number }}
cancel-in-progress: true

jobs:
test_unit:
name: Unit Tests
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'microsoft'
cache: gradle

- name: Run Unit Tests
run: ./gradlew testReleaseUnitTest
continue-on-error: false

test_unit_coverage:
name: Unit Tests Coverage
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'microsoft'
cache: gradle

- name: Run Unit Tests Coverage
run: ./gradlew koverXmlReportDebug

test_instrumentation:
name: Instrumentation Tests
runs-on: macos-latest

steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'microsoft'
cache: gradle

- name: Run Instrumentation Tests
uses: ReactiveCircus/android-emulator-runner@v2
with:
api-level: 23
target: google_apis
arch: x86_64
script: ./gradlew connectedCheck --info
continue-on-error: true
Loading
Loading