Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fable CLI fails on Github CI #11434

Closed
2 of 16 tasks
MangelMaxime opened this issue Jan 20, 2025 · 5 comments
Closed
2 of 16 tasks

Fable CLI fails on Github CI #11434

MangelMaxime opened this issue Jan 20, 2025 · 5 comments

Comments

@MangelMaxime
Copy link

Description

Hello,

A Fable user reported that Fable fails on Github CI.

I first though that we broke something in Fable since we are working on a new version, but today after working on a project of mine which use a stable version I have the same error.

https://github.com/thoth-org/Thoth.Json/actions/runs/12873451418/job/35891008876#step:8:85

After investigating it seems like the main things that changed on Thoth.Json between the current failure CI and previous working one is the CI runner image Image: macos-14-arm64 - Version: 20241216.651 to Image: macos-14-arm64 - Version: 20250120.774 (failing).

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

20250120.774

Failing build: https://github.com/thoth-org/Thoth.Json/actions/runs/12873451418/job/35891008876#step:8:85

Is it regression?

https://github.com/thoth-org/Thoth.Json/actions/runs/12539540940/job/34965770804

Expected behavior

The CI should not fails.

Actual behavior

There is an error on the CI which didn't happen in the past and does not occurs on a local Mac ARM machine.

Repro steps

I am not sure how you want to reproduce it but I suppose forking https://github.com/thoth-org/Thoth.Json/ and making the CI run on it?

I am not sure how to debug this issue, because I can't reproduce it locally and it seems to happens only on Github Mac CI as Ubuntu and Windows CI works.

@pravinade
Copy link
Contributor

Hi @MangelMaxime
We will look into the issue and keep you posted with updates.

Thank You.

@pravinade
Copy link
Contributor

pravinade commented Jan 21, 2025

After further investigation, switching the runner to macos-14 explicitly resolved the issue. The macos-latest runner was picking up newer versions of macOS, which caused the build to fail. By using macos-14, we explicitly specify the desired macOS version (14), which is more stable for the current CI setup.

for your reference below workaround:
`name: CI
on:
pull_request:
branches: [ main, develop ]
push:
branches:
- main
workflow_dispatch:
jobs:
build:
strategy:
matrix:
platform: [ ubuntu-latest, macos-14, macos-latest, windows-latest ]

runs-on: ${{ matrix.platform }}

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-dotnet@v3
    with:
      dotnet-version: '8.0.100'
  - uses: actions/setup-node@v3
    with:
      node-version: '20'
  - uses: pnpm/action-setup@v2
    with:
      version: 9
  - name: Install Python (Windows)
    if: matrix.platform == 'windows-latest'
    uses: actions/setup-python@v4
    with:
      python-version: '3.12'
  - run: python --version
  - name: Test (Unix)
    if: matrix.platform == 'ubuntu-latest' || matrix.platform == 'macOS-latest'
    run: ./build.sh test
  - name: Test (Windows)
    if: matrix.platform == 'windows-latest'
    run: .\build.bat test

`

Let me know if you have any further information.

@MangelMaxime
Copy link
Author

Thank you for looking into it.

By using macos-14, we explicitly specify the desired macOS version (14), which is more stable for the current CI setup

I don't understand why setting macos-latest use another version of the image than macos-14.

My supposition is using macos-latest tells the CI to use the latest stable version of Mac OS which is 14 at the moment. So from this point of view macos-latest and macos-14 should point to the same image no ?

I am asking, because I fear that if we switch to macos-14 it will solve the issue temporary and later it will appears again because at some point it will start using the version 20250113.751.

@MangelMaxime
Copy link
Author

Thank you for the help, we believe we have some idea on what could be causing the issue.

It is possible that .NET for some reason emit a warning which mess up the JSON formatting and cause the parser to throw. We are trying to investigate in this direction.

@MangelMaxime
Copy link
Author

I am closing, it seems like the issue is because there is now .NET8 and .NET9 installed on the CI.

We need to handle that scenario in Fable itself

Thank you for the help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants