Add Github Actions workflows.

This commit is contained in:
Dain Nilsson 2021-11-19 09:22:27 +01:00
parent 9606f9d30f
commit 3c33692e98
No known key found for this signature in database
GPG Key ID: F04367096FBA95E8
7 changed files with 192 additions and 0 deletions

49
.github/workflows/linux.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: Linux
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -qq swig libpcsclite-dev clang cmake ninja-build pkg-config libgtk-3-dev
python -m pip install --upgrade pip
pip install poetry
- uses: subosito/flutter-action@v1
with:
channel: 'beta'
- run: flutter config --enable-linux-desktop
- run: flutter --version
- name: Install ykman
run: |
./build-ykman.sh
- name: Build the app
run: |
flutter build linux
- name: Rename and archive app
run: |
export REF=$(echo ${GITHUB_REF} | cut -d '/' -f 3)
mkdir deploy
tar -czf deploy/yubioath-desktop-${REF}-linux.tar.gz -C build/linux/x64/release/bundle .
- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: yubioath-desktop-linux
path: deploy

49
.github/workflows/macos.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: macOS
on: [push, pull_request]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install dependencies
run: |
brew update
brew install swig
python -m pip install --upgrade pip
pip install poetry
- uses: subosito/flutter-action@v1
with:
channel: 'beta'
- run: flutter config --enable-macos-desktop
- run: flutter --version
- name: Install ykman
run: |
./build-ykman.sh
- name: Build the app
run: |
flutter build macos
- name: Rename and archive app bundle
run: |
export REF=$(echo ${GITHUB_REF} | cut -d '/' -f 3)
mkdir deploy
tar -czf deploy/yubioath-desktop-${REF}.app.tar.gz -C build/macos/Build/Products/Release yubico_authenticator.app
- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: yubioath-desktop-macos
path: deploy

50
.github/workflows/windows.yml vendored Normal file
View File

@ -0,0 +1,50 @@
name: Windows
on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install dependencies
run: |
choco install swig
python -m pip install --upgrade pip
pip install poetry
- uses: subosito/flutter-action@v1
with:
channel: 'beta'
- run: flutter config --enable-windows-desktop
- run: flutter --version
- name: Install ykman
run: |
.\build-ykman.bat
- name: Build the app
run: |
flutter build windows
- name: Rename and archive app bundle
run: |
$arr = $env:GITHUB_REF -split '/'
$branch = $arr[2]
$dest = "deploy\yubioath-desktop-$branch-windows"
mkdir $dest
mv build\windows\runner\Release\* $dest\
- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: yubioath-desktop-windows
path: deploy

View File

@ -8,5 +8,15 @@
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.device.usb</key>
<true/>
<key>com.apple.security.smartcard</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
</dict>
</plist>

View File

@ -4,5 +4,15 @@
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.device.usb</key>
<true/>
<key>com.apple.security.smartcard</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
<key>com.apple.security.smartcard</key>
<true/>
</dict>
</plist>

12
macos/ykman.entitlements Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.smartcard</key>
<true/>
<key>com.apple.security.device.usb</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
</dict>
</plist>