Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Yubico/yubioath-flutter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6.2.0
Choose a base ref
...
head repository: Yubico/yubioath-flutter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing 391 changed files with 45,253 additions and 8,214 deletions.
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
version: 2
enable-beta-ecosystems: true # required for the pub package manager
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
groups:
github-actions:
patterns:
- "*"

- package-ecosystem: "pub"
directory: "/"
schedule:
24 changes: 14 additions & 10 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -7,25 +7,29 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: set up JDK 11
uses: actions/setup-java@v3
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '11'
distribution: 'temurin'
java-version: '17'

- uses: actions/checkout@v4
with:
path: 'app'

- name: Read variables from repo
run: cat .github/workflows/env >> $GITHUB_ENV
working-directory: ./app

- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '3.7.11'
flutter-version: ${{ env.FLUTTER }}
- run: |
flutter config
flutter --version
- uses: actions/checkout@v3
with:
path: 'app'

- name: Check app versions
run: |
python set-version.py
@@ -59,7 +63,7 @@ jobs:
run: android/scripts/collect-artifacts.sh ${GITHUB_REF}
working-directory: ./app

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: yubico-authenticator-android
path: app/artifacts/*
7 changes: 4 additions & 3 deletions .github/workflows/check-strings.yml
Original file line number Diff line number Diff line change
@@ -6,11 +6,12 @@ jobs:
strings:

runs-on: ubuntu-latest
env:
FLUTTER: '3.7.11'

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Read variables from repo
run: cat .github/workflows/env >> $GITHUB_ENV

- name: Ensure main locale is correct
run: python check_strings.py lib/l10n/app_en.arb
28 changes: 16 additions & 12 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -28,30 +28,34 @@ jobs:

steps:
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
setup-python-dependencies: false

- name: set up JDK 11
uses: actions/setup-java@v3
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '11'
distribution: 'temurin'
java-version: '17'

- uses: actions/checkout@v4
with:
path: 'app'

- name: Read variables from repo
run: cat .github/workflows/env >> $GITHUB_ENV
working-directory: ./app

- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '3.7.11'
flutter-version: ${{ env.FLUTTER }}
- run: |
flutter config
flutter --version
- uses: actions/checkout@v3
with:
path: 'app'

- name: Run flutter tests
run: |
flutter test
@@ -71,7 +75,7 @@ jobs:

- if: matrix.language == 'python'
name: autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
2 changes: 2 additions & 0 deletions .github/workflows/env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FLUTTER=3.27.1
PYVER=3.13.2
44 changes: 24 additions & 20 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -6,30 +6,37 @@ jobs:
build:

runs-on: ubuntu-latest
env:
PYVER: '3.11.3'
FLUTTER: '3.7.11'
container:
image: ubuntu:18.04
image: ubuntu:20.04
env:
DEBIAN_FRONTEND: noninteractive

steps:
- uses: actions/checkout@v4
with:
sparse-checkout: .github/workflows/env

- name: Read variables from repo
run: cat .github/workflows/env >> $GITHUB_ENV

- name: Install dependencies
run: |
export PYVER_MINOR=${PYVER%.*}
echo "PYVER_MINOR: $PYVER_MINOR"
apt-get update
apt-get install -qq software-properties-common libnotify-dev libayatana-appindicator3-dev patchelf
apt-get install -qq curl software-properties-common libnotify-dev libayatana-appindicator3-dev patchelf
add-apt-repository -y ppa:git-core/ppa
add-apt-repository -y ppa:deadsnakes/ppa
apt-get install -qq git python$PYVER_MINOR-dev python$PYVER_MINOR-venv
git config --global --add safe.directory "$GITHUB_WORKSPACE"
ln -s `which python$PYVER_MINOR` /usr/local/bin/python
ln -s `which python$PYVER_MINOR` /usr/local/bin/python3
PYVER_TEMP=`/usr/local/bin/python --version`
export PYVERINST=${PYVER_TEMP#* }
echo "PYVERINST=$PYVERINST" >> $GITHUB_ENV
echo "Installed python version: $PYVERINST"
python -m ensurepip --user
python -m pip install -U pip pipx
- name: Verify Python version
if: ${{ env.PYVERINST != env.PYVER }}
@@ -39,7 +46,7 @@ jobs:
echo "Expected: $PYVER"
exit 1
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Check app versions
run: |
@@ -48,26 +55,19 @@ jobs:
- name: Cache helper
id: cache-helper
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
build/linux/helper
assets/licenses/helper.json
key: ${{ runner.os }}-py${{ env.PYVER }}-${{ hashFiles('helper/**') }}

- name: Install helper dependencies
- name: Build the Helper
if: steps.cache-helper.outputs.cache-hit != 'true'
run: |
apt-get install -qq swig libpcsclite-dev build-essential cmake
python -m ensurepip --user
python -m pip install -U pip pipx
pipx ensurepath
export PATH=$PATH:$HOME/.local/bin # Needed to ensure pipx/poetry on PATH
pipx install poetry
- name: Build the Helper
if: steps.cache-helper.outputs.cache-hit != 'true'
run: |
. ~/.bashrc # Needed to ensure poetry on PATH
./build-helper.sh
- name: Install Flutter dependencies
@@ -81,14 +81,18 @@ jobs:

- name: Configure Flutter
run: |
git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-$FLUTTER-x64
git config --global --add safe.directory $FLUTTER_ROOT
flutter config --enable-linux-desktop
flutter --version
- name: Run tests
- name: Run lints/tests
env:
SKIP: ${{ steps.cache-helper.outputs.cache-hit == 'true' && 'mypy,flake8,black,bandit' || ''}}
run: |
export PATH=$PATH:$HOME/.local/bin # Needed to ensure pip/pre-commit on PATH
pipx install pre-commit
pre-commit run --all-files
flutter test
flutter analyze
- name: Build the app
run: flutter build linux
@@ -117,7 +121,7 @@ jobs:
tar -czf deploy/${BASENAME}.tar.gz -C build "${BASENAME}"
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: yubioath-desktop-linux
path: deploy
41 changes: 24 additions & 17 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -6,40 +6,45 @@ jobs:
build:

runs-on: macos-latest
env:
PYVER: '3.11.3'
MACOSX_DEPLOYMENT_TARGET: "10.15"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Read variables from repo
run: cat .github/workflows/env >> $GITHUB_ENV

- name: Check app versions
run: |
python3 set-version.py
git diff --exit-code
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYVER }}

- name: Set up CocoaPods
uses: maxim-lobanov/setup-cocoapods@v1
with:
podfile-path: macos/Podfile.lock

- name: Cache helper
id: cache-helper
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
build/macos/helper
assets/licenses/helper.json
key: ${{ runner.os }}-py${{ env.PYVER }}-${{ hashFiles('helper/**') }}

- name: Set up Python
if: steps.cache-helper.outputs.cache-hit != 'true'
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYVER }}

- name: Install dependencies
if: steps.cache-helper.outputs.cache-hit != 'true'
run: |
brew update
brew install swig
python -m pip install --upgrade pip
pip install poetry
pipx install poetry
pipx inject poetry poetry-plugin-export
- name: Build the Helper
if: steps.cache-helper.outputs.cache-hit != 'true'
@@ -48,15 +53,17 @@ jobs:
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
architecture: 'x64'
flutter-version: '3.7.11'
flutter-version: ${{ env.FLUTTER }}
- run: flutter config --enable-macos-desktop
- run: flutter --version

- name: Run tests
- name: Run lints/tests
env:
SKIP: ${{ steps.cache-helper.outputs.cache-hit == 'true' && 'mypy,flake8,black,bandit' || ''}}
run: |
pip install pre-commit
pre-commit run --all-files
flutter test
flutter analyze
- name: Build the app
run: |
@@ -88,7 +95,7 @@ jobs:
mv macos/release-macos.sh deploy
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: yubioath-desktop-macos
path: deploy
Loading