wip: load Config.fs in scripts #2317
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install required dependencies | |
run: | | |
apt update | |
apt install --yes sudo | |
sudo apt install --yes --no-install-recommends git | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: Setup .NET | |
run: | | |
# We need to install `ca-certificates`, otherwise we get these errors in the CI: | |
# Unable to load the service index for source https://api.nuget.org/v3/index.json. | |
# The SSL connection could not be established, see inner exception. | |
# The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot | |
apt install --yes --no-install-recommends ca-certificates | |
apt install --yes --no-install-recommends dotnet6 | |
- name: Compile the conventions solution | |
run: dotnet build --configuration Release conventions.sln | |
- name: Compile F# scripts | |
run: dotnet fsi scripts/compileFSharpScripts.fsx | |
file-conventions-tests: | |
name: Run FileConventions-lib unit tests | |
needs: build | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install required dependencies | |
run: | | |
apt update | |
apt install --yes sudo | |
- name: Setup .NET | |
run: | | |
# We need to install `ca-certificates`, otherwise we get these errors in the CI: | |
# Unable to load the service index for source https://api.nuget.org/v3/index.json. | |
# The SSL connection could not be established, see inner exception. | |
# The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot | |
apt install --yes --no-install-recommends ca-certificates | |
apt install --yes --no-install-recommends dotnet6 | |
- name: Run tests to validate F# scripts | |
run: dotnet test src/FileConventions.Test/FileConventions.Test.fsproj | |
commitlint-plugins-tests: | |
name: Run commitlint-related tests | |
needs: build | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install required dependencies | |
run: | | |
apt update | |
apt install --yes sudo | |
sudo apt install --yes --no-install-recommends git ca-certificates | |
sudo apt install --yes --no-install-recommends npm curl | |
# need to update nodejs because with ubuntu's default nodejs version we would get this error: | |
# error @jest/[email protected]: The engine "node" is incompatible with this module. Expected version "^14.15.0 || ^16.10.0 || >=18.0.0". Got "12.22.9" | |
sudo npm install --global n | |
sudo n lts | |
- name: Print versions | |
run: | | |
git --version | |
node --version | |
npm --version | |
- name: Install yarn | |
run: | | |
npm install --global yarn | |
yarn add --dev jest typescript ts-jest @types/jest | |
- name: Install commitlint | |
run: | | |
npm install conventional-changelog-conventionalcommits | |
npm install commitlint@latest | |
- name: Print versions | |
run: | | |
git --version | |
node --version | |
npm --version | |
npx commitlint --version | |
yarn --version | |
- name: Run tests to validate our plugins | |
run: yarn jest | |