Skip to content

Commit cae0a53

Browse files
committed
initial commit
0 parents  commit cae0a53

104 files changed

Lines changed: 6096 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ci-gradle.properties

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#
2+
# Copyright 2020 The Android Open Source Project
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
17+
org.gradle.daemon=false
18+
org.gradle.parallel=true
19+
org.gradle.workers.max=2
20+
21+
kotlin.incremental=false
22+
23+
# Controls KotlinOptions.allWarningsAsErrors.
24+
# This value used in CI and is currently set to false.
25+
# If you want to treat warnings as errors locally, set this property to true
26+
# in your ~/.gradle/gradle.properties file.
27+
warningsAsErrors=false

.github/workflows/build_test.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: build_test
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
pull_request:
9+
branches:
10+
- main
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 30
16+
strategy:
17+
matrix:
18+
api-level: [29]
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- name: Enable KVM group perms
24+
run: |
25+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
26+
sudo udevadm control --reload-rules
27+
sudo udevadm trigger --name-match=kvm
28+
ls /dev/kvm
29+
30+
- name: Copy CI gradle.properties
31+
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
32+
33+
- name: Set Up JDK
34+
uses: actions/setup-java@v4
35+
with:
36+
distribution: 'zulu' # See 'Supported distributions' for available options
37+
java-version: '17'
38+
cache: 'gradle'
39+
40+
- name: Setup Gradle
41+
uses: gradle/actions/setup-gradle@v4
42+
43+
- name: Setup Android SDK
44+
uses: android-actions/setup-android@v3
45+
46+
- name: Run instrumentation tests
47+
uses: reactivecircus/android-emulator-runner@v2
48+
with:
49+
api-level: ${{ matrix.api-level }}
50+
arch: x86
51+
disable-animations: true
52+
script: ./gradlew :app:connectedCheck --stacktrace
53+
54+
- name: Upload test reports
55+
if: always()
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: test-reports-${{ matrix.api-level }}
59+
path: ./app/build/reports/androidTests
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Nightly Release
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
workflow_dispatch: # Allows manual triggering
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Check out code
15+
uses: actions/checkout@v4
16+
17+
- name: Set up JDK
18+
uses: actions/setup-java@v4
19+
with:
20+
distribution: 'temurin'
21+
java-version: '17'
22+
23+
- name: Set up Android SDK
24+
uses: android-actions/setup-android@v3
25+
26+
- name: Decode and install keystore
27+
run: |
28+
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > ${{ runner.temp }}/my-release-key.jks
29+
30+
- name: Build release APK
31+
run: ./gradlew app:assembleRelease
32+
env:
33+
KEYSTORE_PATH: ${{ runner.temp }}/my-release-key.jks
34+
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
35+
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
36+
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
37+
38+
- name: Get previous release tag
39+
id: get_tag
40+
run: |
41+
echo "tag=$(git describe --tags --abbrev=0 --match='nightly' || echo 'nightly')" >> $GITHUB_OUTPUT
42+
43+
- name: Delete previous release
44+
uses: dev-drprasad/delete-tag-and-release@v1.1
45+
with:
46+
tag_name: ${{ steps.get_tag.outputs.tag }}
47+
delete_repo_tag: true
48+
env:
49+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50+
51+
- name: Create Release
52+
id: create_release
53+
uses: actions/create-release@v1
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
with:
57+
tag_name: nightly
58+
release_name: Nightly Release
59+
body: "Automated nightly release"
60+
draft: false
61+
prerelease: true
62+
63+
- name: Upload Release Asset
64+
uses: actions/upload-release-asset@v1
65+
env:
66+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
67+
with:
68+
upload_url: ${{ steps.create_release.outputs.upload_url }}
69+
asset_path: app/build/outputs/apk/release/app-release.apk
70+
asset_name: SolidVerdant-nightly.apk
71+
asset_content_type: application/vnd.android.package-archive

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
*.iml
2+
.gradle
3+
local.properties
4+
.idea
5+
.DS_Store
6+
build
7+
captures
8+
.externalNativeBuild
9+
solidtime-desktop
10+
da
11+
.kotlin
12+
my-release-key.jks
13+
convert_svg_path.py
14+
LOGO.svg

.google/packaging.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Copyright (C) 2020 The Android Open Source Project
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
# GOOGLE SAMPLE PACKAGING DATA
16+
#
17+
# This file is used by Google as part of our samples packaging process.
18+
# End users may safely ignore this file. It has no relevance to other systems.
19+
---
20+
status: PUBLISHED
21+
technologies: [Android, JetpackCompose, Coroutines]
22+
categories:
23+
- AndroidTesting
24+
- AndroidArchitecture
25+
- AndroidArchitectureUILayer
26+
- AndroidArchitectureDataLayer
27+
- AndroidArchitectureStateProduction
28+
- AndroidArchitectureStateHolder
29+
- AndroidArchitectureUIEvents
30+
- JetpackComposeTesting
31+
- JetpackComposeArchitectureAndState
32+
- JetpackComposeNavigation
33+
languages: [Kotlin]
34+
solutions:
35+
- Mobile
36+
- Flow
37+
- JetpackHilt
38+
- JetpackRoom
39+
- JetpackNavigation
40+
- JetpackLifecycle
41+
github: android/architecture-samples
42+
level: INTERMEDIATE
43+
license: apache2

0 commit comments

Comments
 (0)