Custom build workflow failing

Hello,

I am having trouble with custom build workflow. I have created a file .eas/build/development-build-android.yaml and have copied over some configuration and have included additional stuff.

When I run the EAS build (both locally and on server) it is failing with the error included in the screenshot.

NOTE: I am sure that the paths are correct, because if I put the wrong path, the build fails instantly with another error:

Custom build configuration file .eas/build/ddevelopment-build-android.yml does not exist.

Here are the contents of the yaml file

build:
  name: Simple internal distribution Android build
  steps:
    - eas/checkout
    - eas/install_node_modules
    - eas/prebuild
    - eas/inject_android_credentials
    - run:
        name: Build dependencies
        command: |
          echo "Building dependencies..."
          cd packages/ui && yarn build

    - eas/run_gradle
    - eas/find_and_upload_build_artifacts

Hi there!

Thanks for reporting it! I’m looking into it. Can you send me more details, like the URL of the build that you run on EAS servers and the details of how you use your development-build-android.yml in your eas.json? (remember to check that your eas.json doesn’t contain any information you wouldn’t like to share before pasting it here)

Hey thanks for the reply! I am currently trying to make a local build, the contents of the eas.json

{
  "build": {
    "development": {
      "node": "18.14.0",
      "developmentClient": true,
      "distribution": "internal",
      "config": "development-build-android.yml",
      "android": {
        "image": "latest",
        "buildType": "apk",
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview": {
      "extends": "development"
    },
    "production": {}
  }
}

I have just run the build on the server as well, so here’s the link: Build Details — 402fa27d-2e4a-4783-85dc-d373d140f46d — trackture — Expo

1 Like

Thank you!

Server build: So it seems like we are able to parse the build config when running the build on our infrastructure, it just fails when running yarn install.
Build Details — 402fa27d-2e4a-4783-85dc-d373d140f46d — trackture — Expo. Looking at your eas.json I think that this is likely caused by the fact that Node 18 is required to successfully perform the node_modules installation in your build. Are you sure that you had build.development.node = 18.14.0 specified in your eas.json at the time of running this build? I just tested it and seems to work for me (screenshot). If a custom node version is installed you should see the logs for it in Install custom tools build phase which happens before executing your custom build workflow.


I don’t see this build phase in your build’s logs.

Local build: It seems like the issue for your local build is different. It is not able to parse the custom build job config on your machine when running the build. I will look some more into it. Can you run the npx expo-env-info and eas -v commands so I get more info about your local environment?

Thanks!

Yes, I have just run the build with the eas.json that I pasted in the original post.

So yeah, it seems I have forgotten the original error with yarn install I was hoping to debug what’s happening on the local, but then I run into the issue I wrote about.

I have executed the commands you asked and here’s the output:

EDIT: I am sorry I think I have run the build in the wrong directory, hence the different output, this is the correct link to a build that has failed for me the last time, on the server:

And the one I just run again, from the correct directory with all changes commited:

1 Like

Thank you again!

Can your .eas directory be gitignored by any chance? I was able to replicate the same error message when gitignoring it.

Unfortunately not, the directory is there in the repo as well:

and to be extra safe I added !.eas/build/ to the .gitignore

1 Like

Interesting…

Thanks again!

Could you try to run a local build with EAS_LOCAL_BUILD_WORKINGDIR=path/to/some/local/dir/of/your/choice EAS_LOCAL_BUILD_SKIP_CLEANUP=1 eas build ... --local and check the contents of path/to/some/local/dir/of/your/choice.

Alright, I’ve run it, ended with the same error.

The contents (notice that .eas/ is empty)

Hi,

Could you please try to run the git ls-files --error-unmatch temporary-custom-build/apps/native/.eas/build/development-build-android.yml command in the root of your repository?

Also, are you using .easignore by any chance?

Hey here’s the output:

I double checked, there is no .easignore file. I am going on a vacation today, so I won’t be able to respond for then ext 7 days, so if we don’t solve it today, let’s try to do it when I am back please. Thank you for your time!