Merge branch 'main' into feature/NFC

This commit is contained in:
TheJoKlLa 2023-01-31 15:24:40 +01:00
commit 2efeaefe18
6 changed files with 115 additions and 22 deletions

View File

@ -1,5 +1,5 @@
variables:
VERSION_PATTERN: '/v\d+\.\d+(\.\d+)?/'
VERSION_PATTERN: '/^v\d+\.\d+(\.\d+)?$/'
GIT_SUBMODULE_STRATEGY: recursive
LIB_RELEASE_FOLDER: 'Borepin\Borepin\bin\Release'
UWP_RELEASE_FOLDER: 'Borepin\Borepin.UWP\bin\x86\Release'
@ -87,7 +87,7 @@ pack_Android_AAB:
needs:
- build_Android
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
tags:
- fabinfra
- internal
@ -112,7 +112,7 @@ pack_Android_APK:
needs:
- build_Android
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
tags:
- fabinfra
- internal
@ -133,12 +133,38 @@ pack_Android_APK:
paths:
- Borepin/Borepin.Android/bin/Release/org.fab_infra.fabaccess-Signed.apk
pack_FDroid_APK:
stage: pack
needs:
- build_Android
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
tags:
- fabinfra
- internal
- windows
- powershell
- xamarin
before_script:
- '$Env:VERSION_NUMBER="$CI_COMMIT_TAG".SubString(1)'
- '$Env:BUILD_NUMBER="$CI_PIPELINE_ID"'
- '$Env:ANDROID_PKG_FORMAT="apk"'
script:
- '& "$WIN_NUGET_PATH" restore'
- '[System.IO.File]::WriteAllBytes("$(pwd)/fabaccess.keystore", [System.Convert]::FromBase64String($FDroidKeyStore))'
- '& "$WIN_MSBUILD_PATH" /t:Restore /t:Borepin_Android:SetVersion /p:Configuration=Release /target:Borepin_Android /target:Borepin_Android:SignAndroidPackage /p:AndroidKeyStore="True" /p:AndroidSigningKeyStore="$(pwd)/fabaccess.keystore" /p:AndroidSigningKeyPass="$FDroidKeyStore_Password" /p:AndroidSigningKeyAlias="$FDroidKeyStore_ID" /p:AndroidSigningStorePass="$FDroidKeyStore_Password"'
- 'rm "$(pwd)/fabaccess.keystore"'
artifacts:
expire_in: 1 week
paths:
- Borepin/Borepin.Android/bin/Release/org.fab_infra.fabaccess-Signed.apk
pack_iOS:
stage: pack
needs:
- build_iOS
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
tags:
- fabinfra
- internal
@ -162,7 +188,7 @@ deploy_Android_Internal:
needs:
- pack_Android_AAB
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
tags:
- docker
image: registry.gitlab.com/fabinfra/gtk-sharp-build:latest
@ -183,33 +209,81 @@ deploy_Android_Internal:
pages:
stage: deploy
needs:
- pack_Android_APK
- pack_iOS
- pack_FDroid_APK
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
tags:
- docker
image: registry.gitlab.com/fabinfra/gtk-sharp-build:latest
image:
name: ubuntu
# name: registry.gitlab.com/fdroid/docker-executable-fdroidserver:master
variables:
LC_ALL: 'en_US.UTF-8'
LANG: 'en_US.UTF-8'
DEBIAN_FRONTEND: noninteractive
TZ: Europe/Berlin
before_script:
- 'apt-get update -yqq && apt-get install -yqq fdroidserver'
- 'export VERSION_NUMBER=${CI_COMMIT_TAG:1}'
- 'export BUILD_NUMBER="$CI_PIPELINE_ID"'
- 'cp -r fdroid/* .'
- 'echo "keystorepass: ${FDroidKeyStore_Password}" >> config.yml'
- 'echo "keypass: ${FDroidKeyStore_Password}" >> config.yml'
- 'echo ${FDroidKeyStore} | base64 -d > keystore.p12'
# - 'cat config.yml'
# - sha1sum keystore.p12
script:
- 'mkdir -p public'
- 'cp Borepin/Borepin.Android/bin/Release/org.fab_infra.fabaccess-Signed.apk public/'
- 'mkdir -p repo'
- 'cp Borepin/Borepin.Android/bin/Release/org.fab_infra.fabaccess-Signed.apk repo/'
- 'fdroid update'
- 'mkdir -p public/fdroid'
- 'cp -r repo public/fdroid/'
- 'rm keystore.p12'
artifacts:
paths:
- public
upload_binaries:
stage: deploy
needs:
- pack_Android_APK
tags:
- docker
image: curlimages/curl:latest
before_script: []
cache: []
script:
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file Borepin/Borepin.Android/bin/Release/org.fab_infra.fabaccess-Signed.apk "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/borepin/${CI_COMMIT_TAG}/org.fab_infra.fabaccess-Signed.apk"'
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
release_job:
stage: deploy
needs:
- upload_binaries
image: registry.gitlab.com/gitlab-org/release-cli:latest
tags:
- docker
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
- if: $CI_COMMIT_TAG =~ "release/.*"
when: never
when: manual
script:
- echo "Creating GitLab release…"
release:
name: "Borepin ${CI_COMMIT_TAG}"
description: "GitLab CI auto-created release"
tag_name: "release/${CI_COMMIT_TAG}"
assets:
links:
- name: 'Borepin signed apk'
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/borepin/${CI_COMMIT_TAG}/org.fab_infra.fabaccess-Signed.apk"
deploy_Android_Beta:
stage: deploy
needs:
- deploy_Android_Internal
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
when: manual
tags:
- docker
@ -232,7 +306,7 @@ deploy_Android_Production:
needs:
- deploy_Android_Beta
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
when: manual
tags:
- docker
@ -255,7 +329,7 @@ deploy_iOS_Internal:
needs:
- pack_iOS
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
tags:
- fabinfra
- internal
@ -282,7 +356,7 @@ deploy_iOS_Beta:
needs:
- pack_iOS
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
when: manual
tags:
- fabinfra
@ -310,7 +384,7 @@ deploy_iOS_Production:
needs:
- deploy_iOS_Beta
rules:
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ /v\d+\.\d+(\.\d+)?/
- if: $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $VERSION_PATTERN
when: manual
tags:
- fabinfra

View File

@ -16,7 +16,7 @@
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<TargetFrameworkVersion>v11.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v13.0</TargetFrameworkVersion>
<AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent>
<AndroidUseAapt2>true</AndroidUseAapt2>
<AndroidHttpClientHandlerType>Xamarin.Android.Net.AndroidClientHandler</AndroidHttpClientHandlerType>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="org.fab_infra.fabaccess" android:installLocation="auto">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" />
<application android:theme="@style/MainTheme" android:label="FabAccess" android:networkSecurityConfig="@xml/network_security_config"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

View File

@ -7,6 +7,7 @@
Title="{x:Static resource_text:TextResource.TITLE_Profile}">
<ContentPage.Resources>
<ResourceDictionary>
<converters:AllTrueBoolConverter x:Key="AllTrueBoolConverter"/>
<converters:InvertBoolConverter x:Key="InvertBoolConverter"/>
</ResourceDictionary>
</ContentPage.Resources>

9
fdroid/config.yml Normal file
View File

@ -0,0 +1,9 @@
repo_keyalias: Persephone
keydname: CN=Persephone, OU=F-Droid
repo_url: "https://fdroid.fab-access.org/fdroid/repo"
repo_name: "FabAccess F-Droid Repo"
repo_description: F-Droid repo for FabAccess.

View File

@ -0,0 +1,9 @@
AuthorName: 'RLKM UG (haftungsbeschränkt)'
Categories:
- Productivity
IssueTracker: 'https://gitlab.com/fabinfra/fabaccess/borepin/-/issues'
Name: FabAccess
SourceCode: 'https://gitlab.com/fabinfra/fabaccess/borepin'
Summary: 'FabAccess is a federatable management system for FabLabs, Makerspaces and Hackerspaces. FabAccess aims to manage access to machines in order to avoid accidents.'
WebSite: 'https://fab-access.org'
License: GPL-3.0-only