Skip to content

refactor: replace cordova-plugin-advanced-http package #121

refactor: replace cordova-plugin-advanced-http package

refactor: replace cordova-plugin-advanced-http package #121

Workflow file for this run

name: CI
on:
push:
branches:
- main
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
workflow_dispatch:
env:
NODE_VERSION: 20
JAVA_VERSION: 17
JAVA_DISTRIBUTION: "zulu"
RUBY_VERSION: 3.1
jobs:
build-web:
name: Build web assets
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm token
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Build web assets
run: npm run build -- --configuration production
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: www
path: www
build-android:
name: Build Android platform
runs-on: macos-latest
needs: [build-web]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: www
path: www
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm token
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
distribution: ${{ env.JAVA_DISTRIBUTION }}
java-version: ${{ env.JAVA_VERSION }}
- name: Set up Ruby ${{ env.RUBY_VERSION }} and install dependencies
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
- name: Copy web assets to native platform
run: npx ionic capacitor copy android --no-build
- name: Update native platform
run: npx ionic capacitor update android
- name: Add keystore files
run: |
echo "${{ secrets.KEYSTORE_PROPERTIES_BASE64 }}" | base64 --decode > android/keystore.properties
echo "${{ secrets.DHBW_VS_KEYSTORE_BASE64 }}" | base64 --decode > android/DHBW-VS.keystore
- name: Build native platform
run: bundle exec fastlane android build release:true
build-ios:
name: Build iOS platform
runs-on: macos-latest
needs: [build-web]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: www
path: www
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm token
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Set up Ruby ${{ env.RUBY_VERSION }} and install dependencies
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
- name: Copy web assets to native platform
run: npx ionic capacitor copy ios --no-build
- name: Update native platform
run: npx ionic capacitor update ios
- name: Download iOS certificates and provisioning profiles
run: bundle exec fastlane ios sync_certificates type:appstore
env:
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
- name: Build native platform
run: bundle exec fastlane ios build release:true
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm token
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Run ESLint and Prettier
run: npm run lint
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm token
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Run unit tests
run: npm run test:ci
e2e:
name: E2E
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm token
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Run end-to-end tests
run: npm run e2e:ci
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: screenshots
path: cypress/screenshots