Github Actions CI
GitHub Actions makes it easy to automate all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub.
View all github actions on github
Important pipelines
- Build desktop apps (Create Desktop Release on tag for Swift and WPF)
- Docker Hub on new version (Create Release on tag for Docker Hub)
- Docker unstable build (Docker buildx multi-arch CI unstable master)
Table of Contents
- Create Desktop Release on tag for Swift and WPF
- Docker Hub on new version (Create Release on tag for Docker Hub)
- Docker buildx multi-arch CI unstable master
- Auto upgrade .NET SDK version
- Application Version Auto update
- Auto update Nuget packages list
- Auto Update Swagger
- Auto clientapp create Vite upgrade
- Auto Documentation create Docusaurus upgrade
- ClientApp React Linux CI
- ClientApp React Windows CI
- CodeQL analysis
- Documentation Linux CI
- Documentation to GitHub Pages
- End-to-End on Ubuntu CI
- End-to-End on Windows CI
- Clean untagged GHCR images
- Desktop macOS PR Build
- Desktop macOS SonarQube Analyze
- Desktop Windows PR Build
- Desktop Windows SonarQube .NET
- Tools dependencies mirror Netlify
- Tools SonarCloud Create Issue
- WebApp Build .NET macOS
All github actions used by this project
There are multiple github actions used by this project. Bellow is a list of all github actions and a short on alphabet order.
Auto upgrade .NET SDK version
Run weekly Automatically upgrade the .NET SDK version and upgrade nuget packages file when a new version is released.
cd starsky-tools/build-tools/
npm run nuget-package-list
Application Version Auto update
Run on push and manual trigger Upgrade the application version in the csproj file and package.json file
cd starsky-tools/build-tools/
npm run app-version-update
Auto update Nuget packages list
On push on master branch Creates a list of nuget packages and their version in the nuget-package-list file
cd starsky-tools/build-tools/
npm run nuget-package-list
Auto Update Swagger
Update json file with the latest swagger file
cd starsky/starsky
export app__AddSwagger="true"
export app__AddSwaggerExport="true"
export app__AddSwaggerExportExitAfter="true"
dotnet run --no-launch-profile
cd ../../
cd starsky-tools/build-tools/
npm run nuget-package-list
Auto clientapp create Vite upgrade
Bootstrap the client app with the latest Vite version
cd starsky-tools/build-tools/
npm run clientapp-create-react-app-update
Auto Documentation create Docusaurus upgrade
Bootstrap the docs with the latest Docusaurus version
cd starsky-tools/build-tools/
npm run documentation-create-docusaurus-update
ClientApp React Linux CI
Build for the ClientApp on linux Runs on pull request and push on the master branch
cd starsky/starsky/clientapp
npm ci
npm run build
npm run test:ci
ClientApp React Windows CI
Build for the ClientApp on Windows Runs on pull request and push on the master branch
cd starsky/starsky/clientapp
npm ci
npm run build
npm run test:ci
CodeQL analysis
Run CodeQL analysis on push and pull request
Documentation to github pages
Deploy docs site to github pages
end2end on ubuntu-ci
Cypress end to end testing on ubuntu ci
Runs a systemd service and a cypress test.
See Cypress Dashboard and click on the
tag: ubuntu-ci for more details.
end2end on windows-ci
Cypress end to end testing on windows ci
Runs a windows service and a cypress test.
See Cypress Dashboard and click on the
tag: windows-ci for more details.
Create Release on tag for docker hub
On tag push create a release for docker hub runs on release of a new stable version
Create Desktop Release on tag for Swift and WPF
Build the .NET runtime and the native Swift macOS and WPF Windows desktop clients. Only creates a release when a new tag is pushed.
Docker buildx multi-arch CI unstable master
Build docker images for testing
Starsky .NET (Ubuntu)
CI build for .NET Core on Ubuntu Builds and runs unit tests in international mode and locale NL_nl due dot and comma issues
Starsky .NET Core (Windows)
CI build for .NET Core on Windows Builds and runs unit tests
Starsky SonarQube ClientApp NetCore Analyze PR
Analyze the code with SonarQube on Pull Request
Starsky Tools Node smoke test
Smoke tests for the starsky-tools
- dropbox import
- localtunnel
- mock service
- thumbnail
storybook clientapp netlify
Deploy storybook of clientapp to netlify
Documentation Linux CI
Build and verify the documentation site on Linux.
Runs on pull request when files under documentation/ change.
Clean untagged GHCR images
Run daily (scheduled) Deletes untagged container images and old nightly builds from the GitHub Container Registry to keep storage usage low.
Desktop macOS PR Build
Build and test the native macOS Swift/AppKit app on pull request and push to master. Uses xcodegen to generate the Xcode project before building.
Desktop macOS SonarQube Analyze
SonarQube code analysis for the native macOS app.
Runs on push/PR to master when mac/ changes, and on a schedule (Mon/Wed/Fri).
Desktop Windows PR Build
Build and test the native Windows desktop app on pull request and push to master.
Runs on windows-latest when files under windows/ change.
Desktop Windows SonarQube .NET
SonarQube code analysis for the Windows desktop .NET project.
Runs on push/PR to master when windows/ changes, and on a schedule (Sun/Tue/Thu/Sat).
Tools dependencies mirror Netlify
Verify and mirror external tool dependencies (exiftool, ffmpeg, geonames) to Netlify. Runs on push/PR when download-mirror scripts change.
Tools SonarCloud Create Issue
Run every 12 hours (scheduled) Fetches SonarCloud analysis results and automatically creates GitHub issues for new findings.
WebApp Build .NET macOS
CI build for .NET on macOS.
Runs on push/PR to master when files under starsky/ change (excluding the clientapp).