Skip to content

Bump rexml from 3.2.5 to 3.3.6 in /android (#1043) #106

Bump rexml from 3.2.5 to 3.3.6 in /android (#1043)

Bump rexml from 3.2.5 to 3.3.6 in /android (#1043) #106

name: Master workflow
on:
workflow_dispatch:
push:
branches:
- master
paths-ignore:
- '.gitignore'
- '.metadata'
- '*.md'
- 'android/fastlane/**'
- 'ios/fastlane/**'
- '.github/**'
- '.githooks/**'
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
env:
APP_NAME: 'notre_dame'
jobs:
##############################################################
# Setup
##############################################################
tag_validation:
runs-on: ubuntu-latest
outputs:
description: "The version in the pubspec.yaml file."
version: ${{ steps.tag_validation.outputs.version }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/composite/tag-validation
id: tag_validation
testing:
name: Tests and checks
runs-on: ubuntu-latest
outputs:
coverage: ${{ steps.coverage.outputs.percentage }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/composite/flutter-setup
with:
encrypted-signets-api-cert-password: ${{ secrets.ENCRYPTED_SIGNETS_API_CERT_PASSWORD }}
encrypted-google-service-password: ${{ secrets.ENCRYPTED_GOOGLE_SERVICE_PASSWORD }}
encrypted-etsmobile-keystore-password: ${{ secrets.ENCRYPTED_ETSMOBILE_KEYSTORE_PASSWORD }}
encrypted-keystore-properties-password: ${{ secrets.ENCRYPTED_KEYSTORE_PROPERTIES_PASSWORD }}
- uses: ./.github/composite/tests
with:
format: false
coverage:
name: Update coverage
needs:
- testing
runs-on: ubuntu-latest
steps:
- name: Download coverage file
uses: actions/download-artifact@v4
with:
name: lcov.info
- name: Update badge coverage
uses: schneegans/dynamic-badges-action@v1.7.0
with:
auth: ${{ secrets.GIST_COVERAGE_BADGE_TOKEN }}
gistID: ${{ secrets.GIST_ID_COVERAGE_BADGE }}
filename: notre_dame_master_badge_coverage.json
label: Code coverage
message: ${{ needs.testing.outputs.coverage }}
namedLogo: flutter
color: green
##############################################################
# Build
##############################################################
build:
name: Create ${{ matrix.target }} build
runs-on: ${{ matrix.os }}
strategy:
matrix:
target: [ iOS, Android ]
include:
- os: macos-latest
target: iOS
build_target: ios
build_args: --no-codesign
build_path: build/ios/iphoneos
asset_extension: zip
asset_content_type: application/zip
- os: ubuntu-latest
target: Android
build_target: apk
build_args: ''
build_path: build/app/outputs/apk/release
asset_extension: apk
asset_content_type: application/zip
# Disable fail-fast as we want results from all even if one fails.
fail-fast: false
needs:
- testing
steps:
- uses: actions/checkout@v4
- uses: ./.github/composite/flutter-setup
with:
encrypted-signets-api-cert-password: ${{ secrets.ENCRYPTED_SIGNETS_API_CERT_PASSWORD }}
encrypted-google-service-password: ${{ secrets.ENCRYPTED_GOOGLE_SERVICE_PASSWORD }}
encrypted-etsmobile-keystore-password: ${{ secrets.ENCRYPTED_ETSMOBILE_KEYSTORE_PASSWORD }}
encrypted-keystore-properties-password: ${{ secrets.ENCRYPTED_KEYSTORE_PROPERTIES_PASSWORD }}
target: ${{ matrix.target }}
- uses: ./.github/composite/ci-build
with:
target: ${{ matrix.target }}
build-target: ${{ matrix.build_target }}
build-args: ${{ matrix.build_args }}
build-path: ${{ matrix.build_path }}
asset-extension: ${{ matrix.asset_extension }}
asset-content-type: ${{ matrix.asset_content_type }}
github-api-token: ${{ secrets.GH_API_TOKEN }}
app-name: ${{ env.APP_NAME }}
app-path: ${{ github.workspace }}/${{ env.APP_NAME }}_${{ matrix.target }}.${{ matrix.asset_extension }}
##############################################################
# Post-build
##############################################################
create_pre_release:
name: Create Github release
needs:
- tag_validation
- build
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- name: Download iOS build
uses: actions/download-artifact@v4
with:
name: iOS
- name: Download Android build
uses: actions/download-artifact@v4
with:
name: Android
- name: Download build of Android and iOS
uses: actions/download-artifact@v4
with:
path: build
- name: Create pre-release
run: |
gh release create ${{ needs.tag_validation.outputs.version }} */** --title v${{ needs.tag_validation.outputs.version }} -R '${{ github.repository }}' --prerelease --generate-notes
working-directory: build