Skip to content

Commit

Permalink
Merge pull request #11 from Adyen/chore/setup-releases
Browse files Browse the repository at this point in the history
Setup releasing
  • Loading branch information
OscarSpruit authored Oct 2, 2024
2 parents 173e080 + 7cfb782 commit 1c3f832
Show file tree
Hide file tree
Showing 6 changed files with 144 additions and 39 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Release

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
ref: main

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

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: true

- name: Gradle build
run: ./gradlew build

- name: Set PROJECT_VERSION
run: |
chmod +x scripts/version_name.sh
PROJECT_VERSION=$(./scripts/version_name.sh)
echo "PROJECT_VERSION=$PROJECT_VERSION" >> $GITHUB_ENV
echo "Variable PROJECT_VERSION set to: ${PROJECT_VERSION}"
- name: Create Github release
uses: ncipollo/release-action@v1
with:
tag: ${{ env.PROJECT_VERSION }}
bodyFile: README.md
draft: true
artifacts: "app/build/outputs/apk/release/app-release.apk"
5 changes: 5 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## New

This is the initial release of Adyen Test Cards for Android 🥳

See the [README](./README.md) for more information on how to install and use the app.
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ android {
minSdk = 26
targetSdk = 35
versionCode = 1
versionName = "1.0"
versionName = libs.versions.versionName.get()

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
Expand Down
117 changes: 79 additions & 38 deletions app/src/main/java/com/adyen/testcards/main/MainScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.provider.Settings.ACTION_REQUEST_SET_AUTOFILL_SERVICE
import android.view.autofill.AutofillManager
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
Expand Down Expand Up @@ -199,53 +200,93 @@ private fun MainContent(
if (paymentMethods.usernamePasswords.isNotEmpty()) {
usernamePasswordSection(paymentMethods.usernamePasswords, onFavoriteClick)
}

item {
val context = LocalContext.current
context.packageManager.getPackageInfo(context.packageName, 0).versionName?.let { version ->
Box(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
contentAlignment = Alignment.Center,
) {
Text("Version: $version", style = MaterialTheme.typography.labelMedium)
}
}
}
}
}

@Composable
private fun MainEmpty() {
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState()),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Image(
imageVector = ImageVector.vectorResource(R.drawable.card_phone_payment),
contentDescription = null,
modifier = Modifier.fillMaxWidth(.8f),
)
Spacer(Modifier.padding(32.dp))
Text("No content!", style = MaterialTheme.typography.titleLarge)
Text(
text = "Improve your search query or try pulling to refresh the content.",
textAlign = TextAlign.Center,
modifier = Modifier.padding(16.dp, 8.dp),
)
Box {
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState()),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Image(
imageVector = ImageVector.vectorResource(R.drawable.card_phone_payment),
contentDescription = null,
modifier = Modifier.fillMaxWidth(.8f),
)
Spacer(Modifier.padding(32.dp))
Text("No content!", style = MaterialTheme.typography.titleLarge)
Text(
text = "Improve your search query or try pulling to refresh the content.",
textAlign = TextAlign.Center,
modifier = Modifier.padding(16.dp, 8.dp),
)
}

val context = LocalContext.current
context.packageManager.getPackageInfo(context.packageName, 0).versionName?.let { version ->
Text(
"Version: $version",
style = MaterialTheme.typography.labelMedium,
modifier = Modifier
.padding(16.dp)
.align(Alignment.BottomCenter),
)
}
}
}

@Composable
private fun MainError() {
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState()),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Image(
imageVector = ImageVector.vectorResource(R.drawable.man_shrugging),
contentDescription = null,
modifier = Modifier.fillMaxWidth(.8f),
)
Spacer(Modifier.padding(32.dp))
Text("Error!", style = MaterialTheme.typography.titleLarge)
Text(
text = "Try pulling to refresh the content.",
textAlign = TextAlign.Center,
modifier = Modifier.padding(16.dp, 8.dp),
)
Box {
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState()),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Image(
imageVector = ImageVector.vectorResource(R.drawable.man_shrugging),
contentDescription = null,
modifier = Modifier.fillMaxWidth(.8f),
)
Spacer(Modifier.padding(32.dp))
Text("Error!", style = MaterialTheme.typography.titleLarge)
Text(
text = "Try pulling to refresh the content.",
textAlign = TextAlign.Center,
modifier = Modifier.padding(16.dp, 8.dp),
)
}

val context = LocalContext.current
context.packageManager.getPackageInfo(context.packageName, 0).versionName?.let { version ->
Text(
"Version: $version",
style = MaterialTheme.typography.labelMedium,
modifier = Modifier
.padding(16.dp)
.align(Alignment.BottomCenter),
)
}
}
}
1 change: 1 addition & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ protobuf = "4.28.1"
protobufPlugin = "0.9.4"
retrofit = "2.11.0"
spotless = "7.0.0.BETA2"
versionName = "1.0.0-alpha01"

[libraries]
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
Expand Down
16 changes: 16 additions & 0 deletions scripts/version_name.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

libs_file="${GITHUB_WORKSPACE}/gradle/libs.versions.toml"
version_name_key="versionName"
version_name_regex="^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}(-(alpha|beta|rc)[0-9]{2}){0,1}$"

version=$(sed -n "s/.*${version_name_key}[[:space:]]*=[[:space:]]*[\"\']\(.*\)[\"\'].*/\1/p" ${libs_file})

if [[ ! ${version} =~ ${version_name_regex} ]]; then
echo "Error: invalid version name [$version], please validate that [$version_name_key] at [$libs_file] follows regex $version_name_regex ."
exit 1
fi

echo "$version"

exit 0

0 comments on commit 1c3f832

Please sign in to comment.