Hey there,
I am completely new to gitlab runner / jobs / pipelines.
So for my flutter project I copied another Pipeline from fluffy chat.
While it works for fluffychat it does not for me.
Could you please help me getting the jobs running?
My gitlab-ci.yml looks like this:
image:
name: cirrusci/flutter
variables:
GIT_SUBMODULE_STRATEGY: recursive
.macos_saas_runners:
tags:
- shared-macos-amd64
image: macos-11-xcode-12
.shared_windows_runners:
tags:
- shared-windows
- windows
- windows-1809
stages:
- coverage
- release
- deploy
code_analyze:
stage: coverage
script:
- flutter pub get
- flutter pub run import_sorter:main --no-comments --exit-if-changed
- flutter format lib/ test/ --set-exit-if-changed
- flutter pub get
- flutter analyze
- flutter pub run dart_code_metrics:metrics lib -r gitlab > code-quality-report.json || true
artifacts:
reports:
codequality: code-quality-report.json
test:
stage: coverage
script: [flutter test]
build_windows:
extends:
- .shared_windows_runners
needs: [test]
stage: coverage
before_script:
- choco install flutter -y
- choco install visualstudio2019community -y
- choco install vcredist-all -y
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
- refreshenv
script:
- flutter doctor
- flutter config --enable-windows-desktop
- flutter clean
- flutter pub get
- flutter build windows --release -v
artifacts:
paths:
- build/windows/runner/Release
allow_failure: true
build_macos:
extends:
- .macos_saas_runners
stage: coverage
needs: [test]
before_script:
- gem install cocoapods
script:
- flutter doctor
- flutter config --enable-macos-desktop
- flutter clean
- flutter pub get
- cd macos
- pod install
- pod update
- cd ..
- flutter build macos --release -v
artifacts:
paths:
- build/macos/runner/Release
allow_failure: true
build_linux_x86:
stage: coverage
needs: [test]
before_script:
[
sudo apt update && sudo apt install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libjsoncpp1 libsodium-dev libsecret-1-dev libsecret-1-0 librhash0 -y,
]
script:
- flutter config --enable-linux-desktop
- flutter clean
- flutter pub get
- flutter build linux --release -v
artifacts:
when: on_success
paths:
- build/linux/x64/release/bundle/
build_linux_arm64:
image: fischerscode/flutter
stage: coverage
needs: [test]
before_script: [flutter upgrade]
script:
- flutter config --enable-linux-desktop
- flutter clean
- flutter pub get
- flutter build linux --release -v
tags:
- arm64v8
only:
- main
- tags
allow_failure: true
artifacts:
when: on_success
paths:
- build/linux/arm64/release/bundle/
The failing jobs are:
linux arm64 with this error
This job is stuck because you don't have any active runners online or available with any of these tags assigned to them: arm64v8
Go to project CI settings
I thought that arm64v8 would be a public runner I can simply include with the tag arm64v8.
Windows with this error:
C:\GitLab-Runner\builds\j0chn\nextcloud_password_client\windows\flutter\ephemeral\.plugin_symlinks\flutter_secure_storage_windows\windows\flutter_secure_storage_windows_plugin.cpp(6,10): fatal error C1083: Cannot open include file: 'atlstr.h': No such file or directory [C:\GitLab-Runner\builds\j0chn\nextcloud_password_client\build\windows\plugins\flutter_secure_storage_windows\flutter_secure_storage_windows_plugin.vcxproj]
code_analyze with this (I think this is more a flutter problem):
$ flutter pub run import_sorter:main --no-comments --exit-if-changed
contains flutter: true
contains registrant: false
┏━━ Sorting 126 dart filespub finished with exit code 1
Uploading artifacts for failed job
00:02
Uploading artifacts...
WARNING: code-quality-report.json: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1
Thank you very much!!!