expo publish works locally but fails to resolve my modules in github actions

I am trying to deploy my app on expo every time something is pushed on master.

For some reason, expo-cli is unable to resolve my modules in github actions, which is weird because it works perfectly fine with the same command on the same project locally (using the same expo SDK and the same expo-cli version, 5.3.2). I only saw this problem reported once on this question but it was closed due to inactivity.

Here is the output:

Run EXPO_DEBUG=true expo publish --non-interactive --release-channel staging
EXPO_DEBUG=true expo publish --non-interactive --release-channel staging
shell: /usr/bin/bash -e {0}
env:
    EXPO_TOKEN: ***

[18:28:31] › Expo SDK: 44.0.0
[18:28:31] › Release channel: staging
[18:28:31] › Workflow: Managed

[18:28:31] Building optimized bundles and generating sourcemaps...

Publish Assets:
- Asset target: managed

Expo Metro config:
- Bundler target: bare
- Legacy: false
- Extensions: ts, tsx, js, jsx, json
- React Native: /home/runner/work/my-app/my-app/node_modules/react-native
- Babel config: /home/runner/work/my-app/my-app/babel.config.js
- Resolver Fields: react-native, browser, main
- Exotic: false

[16:28:27] Starting Metro Bundler
[16:30:13] Unable to resolve module ../../components/form-controls/button from /home/runner/work/my-app/my-app/src/views/authentication/login.tsx: 

None of these files exist:
  * src/components/form-controls/button(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)
  * src/components/form-controls/button/index(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)
> 1 | import { useContext, useMemo, useState } from 'react';
  2 | import { StyleSheet, Text, View } from 'react-native';
  3 | import Button from '@components/form-controls/button';
  4 | import Input from '@components/form-controls/input';
[16:30:13] Error: Unable to resolve module ../../components/form-controls/button from /home/runner/work/my-app/my-app/src/views/authentication/login.tsx: 

None of these files exist:
  * src/components/form-controls/button(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)
  * src/components/form-controls/button/index(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)
> 1 | import { useContext, useMemo, useState } from 'react';
  2 | import { StyleSheet, Text, View } from 'react-native';
  3 | import Button from '@components/form-controls/button';
  4 | import Input from '@components/form-controls/input';
    at ModuleResolver.resolveDependency (/home/runner/work/my-app/vmy-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:211:15)
    at DependencyGraph.resolveDependency (/home/runner/work/my-app/my-app/node_modules/metro/src/node-haste/DependencyGraph.js:413:43)
    at Object.resolve (/home/runner/work/my-app/my-app/node_modules/metro/src/lib/transformHelpers.js:317:42)
    at resolve (/home/runner/work/my-app/my-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:629:33)
    at /home/runner/work/my-app/my-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:645:26
    at Array.reduce (<anonymous>)
    at resolveDependencies (/home/runner/work/my-app/my-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:644:33)
    at /home/runner/work/my-app/my-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:329:33
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (/home/runner/work/my-app/my-app/node_modules/metro/src/DeltaBundler/traverseDependencies.js:137:24)
Error: Process completed with exit code 1.

Here is my env:

  npx expo-env-info
  shell: /usr/bin/bash -e {0}
  env:
    EXPO_TOKEN: ***
npx: installed 1 in 1.241s

  expo-env-info 1.0.2 environment info:
    System:
      OS: Linux 5.13 Ubuntu 20.04.4 LTS (Focal Fossa)
      Shell: 5.0.17 - /bin/bash
    Binaries:
      Node: 12.22.12 - /opt/hostedtoolcache/node/12.22.12/x64/bin/node
      Yarn: 1.22.18 - /usr/local/bin/yarn
      npm: 6.14.16 - /opt/hostedtoolcache/node/12.22.12/x64/bin/npm
    SDKs:
      Android SDK:
        API Levels: 27, 28, 29, 30, 31, 32
        Build Tools: 27.0.0, 27.0.1, 27.0.2, 27.0.3, 28.0.0, 28.0.1, 28.0.2, 28.0.3, 29.0.0, 29.0.1, 29.0.2, 29.0.3, 30.0.0, 30.0.1, 30.0.2, 30.0.3, 31.0.0, 32.0.0
        Android NDK: 21.4.7075529
    npmPackages:
      babel-preset-expo: ^9.0.2 => 9.0.2 
      expo: ~44.0.0 => 44.0.5 
      react: 17.0.1 => 17.0.1 
      react-dom: 17.0.1 => 17.0.1 
      react-native: 0.64.3 => 0.64.3 
      react-native-web: 0.17.1 => 0.17.1 
    Expo Workflow: managed

Here here is my workflow:

  Publish:
    needs: Test
    runs-on: ubuntu-latest
    steps:
      - name: Check for EXPO_TOKEN
        run: |
          if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then
            echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions"
            exit 1
          fi

      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Setup Node
        uses: actions/setup-node@v2
        with:
          node-version: 12.x
          cache: yarn

      - name: Setup Expo
        uses: expo/expo-github-action@v7
        with:
          packager: yarn
          expo-version: latest
          eas-version: latest
          token: ${{ secrets.EXPO_TOKEN }}

      - name: Find yarn cache
        id: yarn-cache-path
        run: echo "::set-output name=dir::$(yarn cache dir)"

      - name: Restore cache
        uses: actions/cache@v2
        with:
          path: ${{ steps.yarn-cache-path.outputs.dir }}
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: ${{ runner.os }}-yarn-

      - name: Install dependencies
        run: yarn install

      - name: Publish update
        run: expo publish --non-interactive --release-channel staging

I would like to know if this is a bug (and if I should open an issue on github) or if something is wrong on my side.

Thanks in advance!