Giter VIP home page Giter VIP logo

cargo's Issues

--color=always removes the benefits of this action

Do the checklist before filing an issue:

Description

This action runs cargo with arguments. When cargo finds problems they are annotated in a way GitHub can display them at the exact file / line.

When --color=always is added this doesn't work anymore.

You can reproduce this by creating some issue which cargo highlights. This works properly. When --color=always is added the output reduces to "[โ€ฆ] failed with exit code 101".

Workflow code

      - name: Check clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
-          args: --verbose --locked --all-targets ${{ matrix.features }} -- ${{ matrix.clippyargs }}
+          args: --verbose --locked --all-targets ${{ matrix.features }} --color=always -- ${{ matrix.clippyargs }}

Action output

works

https://github.com/EdJoPaTo/rust-binary-metafile-template/actions/runs/1399909575

works.zip

works

doesn't work

https://github.com/EdJoPaTo/rust-binary-metafile-template/actions/runs/1399969307

doesnt-work.zip

doesntwork

Expected behavior

Described above

Additional context

--color=always is probably not working because of additional escape codes in the output.

Personal opinion: I do not think its interesting to support color output. I think outputting a warning when --color is specified is helpful to prevent people from running into this issue.

How do I find the build artefacts?

My workflow seems to successfully build but I do not know where the build artefacts are. I tried doing a find \ but it didn't find anything.

How do I determine the location of the compiled binary and man files?

jobs:
  armv7l:
    name: armv7l build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          repository: ogham/exa
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: armv7-unknown-linux-gnueabihf
          override: true
      - uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build

How to save output of cargo command?

How do I save the output of a cargo command to file in a Github action?

Specifically, I want to do something like:

cargo build --message-format json > build.log to save a log of the build in my CI.

Using cross with additional libraries

Do the checklist before filing an issue:

Motivation

I'm currently using github actions to test-build my project with for x86_64. I'd like to extend this to other architectures, and there's an example in the README on how to do that. I've tried to use that for my project, but then noticed the build fails my project depends on additional libaries that are missing in the cross build container. This is related to cross-rs/cross#149 but it's unclear how to use the hacks mentioned in the issue with github actions.

Workflow example

I don't know what's the best way to integrate this, and I assume it'd need proper support by cross.

on: [push]

name: ARMv7 build

jobs:
  linux_arm7:
    name: Linux ARMv7
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: armv7-unknown-linux-gnueabihf
          override: true
      # prepare container image somehow
      - uses: actions-rs/cargo@v1
        with:
          apt:
          - libpcap-dev
          - libseccomp-dev
      - uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build
          args: --target armv7-unknown-linux-gnueabihf

Additional context

I wrote this script in an attempt to apply the workarounds mentioned in the cross issue tracker, but couldn't get it to work because I need to have the cross binary in advance to detect the version for the image I'm preparing (therefore this is all untested):

#!/bin/sh
set -xe

case "$1" in
    arm-*)
        ARCH=arm64
        ;;
    armv7-*)
        ARCH=arm64
        ;;
    aarch64-*)
        ARCH=arm64
        ;;
    i686-*)
        ARCH=i386
        ;;
    *)
        echo 'ERROR: unknown arch'
        exit 1
        ;;
esac

CROSS=`cross -V | sed -nr 's/cross (.*)/\1/p'`

cat > Dockerfile.cross <<EOF
FROM rustembedded/cross:$1-$CROSS
RUN dpkg --add-architecture $ARCH && \
    apt-get update && \
    apt-get install libpcap-dev:$ARCH libseccomp-dev:$ARCH
EOF

docker build -t "rustembedded/cross:$1-$CROSS" Dockerfile.cross

echo workflow commands for each cargo error and warning

Do the checklist before filing an issue:

Motivation

nice-to-have feature request: instead of having to look through job logs, the cargo action would show warnings and errors from cargo directly in the PR file view.

For example, to show an error in the file view in shell:

echo "::error file=src/lib.rs,line=30,endLine=30::`#![feature]` may not be used on the stable release channel"

Workflow example

No change in workflow files, the typical use of this action would Just Work:

on: [push]

name: CI

jobs:
  build_and_test:
    name: Rust project
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
      - uses: actions-rs/cargo@v1
        with:
          command: build
          args: --release --all-features

Additional context

See https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions

I'm not willing to work on this at the moment and just wanted to hear your thoughts about this feature.

cross should be built on ubuntu 18.04 (fails with `version `GLIBC_2.29' not found`)

Description

reported initially here:
uutils/coreutils#3210

Using use-cross on an Ubuntu 18.04 fails with:

/home/runner/.cargo/bin/cross build --release --target=x86_64-unknown-linux-musl --features feat_os_unix_musl
/home/runner/.cargo/bin/cross: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by /home/runner/.cargo/bin/cross)
/home/runner/.cargo/bin/cross: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/runner/.cargo/bin/cross)

Seems that bin/cross is built on more recent ubuntu.

Workflow code

with:
  use-cross: true
  command: build
  args: --release --target=i686-unknown-linux-gnu  --features "feat_os_unix"

Action output

Full log
https://pipelines.actions.githubusercontent.com/Tv5Yv5nIzIhWaMo3xdKzjIorSSIlfCwnxr6L52Y7lKBOTZPJ76/_apis/pipelines/1/runs/11115/signedlogcontent/108?urlExpires=2022-03-04T09%3A13%3A09.6744026Z&urlSigningMethod=HMACV1&urlSignature=xSNv6KgC1Ad9w1%2BNkNhLIfRY2lnHlBJl4l0V8SHHrpA%3D


2022-03-03T23:56:20.0182827Z ##[group]Run actions-rs/cargo@v1
2022-03-03T23:56:20.0183065Z with:
2022-03-03T23:56:20.0183223Z   use-cross: true
2022-03-03T23:56:20.0183409Z   command: build
2022-03-03T23:56:20.0183676Z   args: --release --target=i686-unknown-linux-gnu  --features "feat_os_unix"
2022-03-03T23:56:20.0183926Z env:
2022-03-03T23:56:20.0184091Z   PROJECT_NAME: coreutils
2022-03-03T23:56:20.0184342Z   PROJECT_DESC: Core universal (cross-platform) utilities
2022-03-03T23:56:20.0184579Z   PROJECT_AUTH: uutils
2022-03-03T23:56:20.0184757Z   RUST_MIN_SRV: 1.54.0
2022-03-03T23:56:20.0184953Z   STYLE_FAIL_ON_FAULT: true
2022-03-03T23:56:20.0185318Z   CACHE_ON_FAILURE: false
2022-03-03T23:56:20.0185494Z   CARGO_INCREMENTAL: 0
2022-03-03T23:56:20.0185675Z ##[endgroup]
2022-03-03T23:56:20.1174653Z [command]/home/runner/.cargo/bin/cross build --release --target=i686-unknown-linux-gnu --features feat_os_unix
2022-03-03T23:56:20.1251071Z /home/runner/.cargo/bin/cross: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by /home/runner/.cargo/bin/cross)
2022-03-03T23:56:20.1253486Z /home/runner/.cargo/bin/cross: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/runner/.cargo/bin/cross)
2022-03-03T23:56:20.1293264Z ##[error]The process '/home/runner/.cargo/bin/cross' failed with exit code 1

Maybe caused by rust-lang/rust#90846 ?!

Multiple Locations in Cargo.toml

Description

Workflow code

https://github.com/NPC-Studio/yy-boss/blob/master/.github/workflows/main.yml

(this is just the quickstart action without Clippy)

Action output

failed to get `yy-typings` as a dependency of package `yy-boss v0.1.1 (/home/runner/work/yy-boss/yy-boss)`

Expected behavior

see below

Additional context

This isn't really a bug, but a request for some guidance on a particular issue with Cargo. I hope this is a good place to ask!
So the issue is because my Cargo.toml in that project has the following dependency:

yy-typings = { path = "../yy-typings", version = "0.1" }

This is because I develop this other crate, generally, at the same time, so it just makes sense to have a local path dependency on my local.

Is there some way to get the action to only build using the Crates.io referenced there? Right now, it builds on every push, but in the future, it will only build on tagged commits, so I will know that the crates.io version will be up to date.

`args` does not evaluate file globs

Do the checklist before filing an issue:

Description

First, thanks for creating these actions, super helpful!

In my project, I have a couple of rust files which are there as test resources, however, I want them to be automatically checked by cargo fmt as well. Since they are not attached to any project, I need to pass the file paths directly to rustfmt.

cargo fmt -- tests/resources/**/*.rs --check works perfectly fine from my shell but it appears that this action does not expand glob patterns, which causes the following action to fail.

Workflow code

      - name: Run cargo fmt on tests resources
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: -- tests/resources/**/*.rs --check

Action output

Run actions-rs/cargo@v1
/home/runner/.cargo/bin/cargo fmt -- tests/resources/**/*.rs --check
Error: file `tests/resources/**/*.rs` does not exist
Error: The process '/home/runner/.cargo/bin/cargo' failed with exit code 1

Expected behavior

Glob patterns are expanded and the action checks all files.

Additional context

I found a way around it:

      - name: Gather test resources
        run: echo "TEST_RESOURCES_RUST=$(ls tests/resources/**/*.rs | tr '\n' ' ')" >> $GITHUB_ENV

      - name: Run cargo fmt on tests resources
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: -- ${{ env.TEST_RESOURCES_RUST }} --check

Capture of stdout / stderr

Do the checklist before filing an issue:

Motivation

It would be nice to be able to capture stdout / stderr on certain commands. My example: I have a workflow which runs a script using cargo make the output of which I'd like to capture and put in a comment on PRs. See here:

https://github.com/arlyon/async-stripe/blob/master/.github/workflows/openapi.yml#L27-L32

The missing part is that outputs.stdout is not actually populated with anything yet.

Workflow example

No proposed changes to the workflow definitions, just populate the stdout / stderr outputs for use in other actions.

Additional context

The run command allows you to do this just fine, but I'd like to use the dedicated action if possible, rather than manually calling cargo make verify.

What does this get me?

This is my first time trying GitHub Actions, so apologies for the basic question.

I see that the example workflow in this repo's readme contains this example step:

- uses: actions-rs/cargo@v1
  with:
    command: build
    args: --release --all-features

Based on the readme of this repo it wasn't clear to me what benefit this would have over just:

- run: cargo build --release --all-features

which appears to work.

Maybe the readme could emphasize some of the benefits?

Thanks!

Action does not pass environment variables to cargo when cross is enabled

Description

The actions-rs/cargo@v1 does not pass environment variables such as RUSTFLAGS to cargo.

Workflow code

Workflow

Action output

In this job run:

2020-06-05T14:50:25.2752491Z ##[group]Run actions-rs/cargo@v1
2020-06-05T14:50:25.2752621Z with:
2020-06-05T14:50:25.2752725Z   use-cross: true
2020-06-05T14:50:25.2752840Z   command: build
2020-06-05T14:50:25.2752987Z   args: --manifest-path jormungandr/Cargo.toml
--bin jormungandr
--no-default-features
--verbose
--locked
--release
--target aarch64-linux-android

2020-06-05T14:50:25.2753137Z env:
2020-06-05T14:50:25.2753250Z   DATE: 20200605
2020-06-05T14:50:25.2753493Z   RUSTFLAGS: -C target-cpu=generic -C lto
2020-06-05T14:50:25.2753613Z ##[endgroup]

The effect of RUSTFLAGS is not seen in the compiler invocations:

2020-06-05T15:02:11.6410263Z      Running `rustc --crate-name multiaddr /cargo/registry/src/github.com-1ecc6299db9ec823/multiaddr-0.3.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C metadata=1508ab820d2f6caf -C extra-filename=-1508ab820d2f6caf --out-dir /target/aarch64-linux-android/release/deps --target aarch64-linux-android -C linker=aarch64-linux-android-gcc -L dependency=/target/aarch64-linux-android/release/deps -L dependency=/target/release/deps --extern byteorder=/target/aarch64-linux-android/release/deps/libbyteorder-c7da6d79ae555619.rmeta --extern cid=/target/aarch64-linux-android/release/deps/libcid-05098fa37c1387c6.rmeta --extern integer_encoding=/target/aarch64-linux-android/release

A sister job without cross compiles with the passed options.

Expected behavior

RUSTFLAGS and other environment variables should be consistently passed down to cargo and any build scripts that may make use of them.

error: no such subcommand: `release patch`

Do the checklist before filing an issue:

Description

Attempting to setup automated cargo publishing for our repo (https://github.com/railwayapp/nixpacks/).

Added actions-rs/cargo but keep getting this error

https://github.com/railwayapp/nixpacks/runs/8280426557?check_suite_focus=true

Expected behavior

Should be able to just call cargo release <patch|minor|major> --execute and have it work

Additional context

Add any other context about the problem here.

Cargo login issues

When trying to use cargo login in preparation of publishing to crates.io the token is not passed a cargo login argument and then the command hangs indefinitely waiting for input.

Example task:

- name: Login to crates.io
  uses: actions-rs/cargo@v1
  with:
    toolchain: nightly
    command: login
    arguments: ${{ secrets.CRATES_TOKEN }}

I'm new to GitHub actions so I'm not sure if maybe I'm misusing this and I need to pass the argument in another way.

Unable to cross-compile for i686-pc-windows-gnu (cross version out of date?)

Description

I've been attempting to cross compile a Rust project for i686-pc-windows-gnu on the ubuntu-latest platform, which appears to work fine until the linking stage. Related PR is here: FrancisRussell/zoog#17

Workflow code

https://github.com/FrancisRussell/zoog/blob/3dbd3d39438db55344819d9df067490073a93a35/.github/workflows/ci.yml

Action output

2021-01-03T20:43:56.9218892Z    Compiling rand_chacha v0.2.2
2021-01-03T20:43:58.6301048Z    Compiling rand v0.7.3
2021-01-03T20:44:00.8677438Z    Compiling term_size v0.3.2
2021-01-03T20:44:01.1447605Z    Compiling remove_dir_all v0.5.3
2021-01-03T20:44:01.7061525Z    Compiling textwrap v0.11.0
2021-01-03T20:44:02.4005338Z    Compiling tempfile v3.1.0
2021-01-03T20:44:03.2505163Z    Compiling clap v2.33.3
2021-01-03T20:44:06.9047767Z    Compiling thiserror-impl v1.0.23
2021-01-03T20:44:09.9889944Z    Compiling derivative v2.1.1
2021-01-03T20:44:15.0369777Z    Compiling thiserror v1.0.23
2021-01-03T20:44:15.1810628Z    Compiling zoog v0.1.1 (/home/runner/work/zoog/zoog)
2021-01-03T20:44:16.7638877Z error: linker `i686-w64-mingw32-gcc` not found
2021-01-03T20:44:16.7646309Z ##[error]  |
2021-01-03T20:44:16.7664285Z   = note: No such file or directory (os error 2)
2021-01-03T20:44:16.7664667Z 
2021-01-03T20:44:16.7665437Z error: aborting due to previous error
2021-01-03T20:44:16.7666432Z ##[error]aborting due to previous error
2021-01-03T20:44:16.7813670Z error: could not compile `zoog`
2021-01-03T20:44:16.7814617Z ##[error]could not compile `zoog`
2021-01-03T20:44:16.7816604Z To learn more, run the command again with --verbose.
2021-01-03T20:44:16.7819154Z ##[error]The process 'cross' failed with exit code 101

Expected behavior

Compilation succeeds.

Additional context

From what I can tell, cross does support this target which is why I'm filing here first.

Support "cargo release"

cargo-release is pretty awesome, and it seems github actions would be perfect to build releases across multiple operating systems.

Can we bake cargo-release into this workflow, or provide a way to use it?

need help

now i want to compile aarch64-pc-windows-msvc on windows now in github action.

# windows
          - target: x86_64-pc-windows-msvc
            release-name: x86_64-windows
            suffix: .exe
            use-cross: false

          - os: windows-latest
            target: aarch64-pc-windows-msvc
            suffix: .exe
            use-cross: true

x86_64 is successed but aarch failed because of

image

the link is modified: .github/workflows/release.yml
how can i do?

GITHUB_TOKEN permissions used by this action

At https://github.com/step-security/secure-workflows we are building a knowledge-base (KB) of GITHUB_TOKEN permissions needed by different GitHub Actions. When developers try to set minimum token permissions for their workflows, they can use this knowledge-base instead of trying to research permissions needed by each GitHub Action they use.

Below you can see the KB of your GITHUB Action.

name: 'rust-cargo' # actions-rs/cargo
# GITHUB_TOKEN not used

If you think this information is not accurate, or if in the future your GitHub Action starts using a different set of permissions, please create an issue at https://github.com/step-security/secure-workflows/issues to let us know.

This issue is automatically created by our analysis bot, feel free to close after reading :)

References:

GitHub asks users to define workflow permissions, see https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/ and https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token for securing GitHub workflows against supply-chain attacks.

Setting minimum token permissions is also checked for by Open Source Security Foundation (OpenSSF) Scorecards. Scorecards recommend using https://github.com/step-security/secure-workflows so developers can fix this issue in an easier manner.

Fails on bytes crate

error: `core::slice::<impl [T]>::len` is not yet stable as a const fn
##[error]   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-0.5.2/src/bytes.rs:121:18

Is 1.39 supported or is this an unreleated error?

Cross builds on macOS runners cannot find Cargo.toml?

Do the checklist before filing an issue:

Description

Ubuntu builds succeed, but the same step definition for runs-on: macOS-latest is unable to find cargo?:

Run actions-rs/[email protected]
Install cross
cross build --target x86_64-unknown-linux-musl --all-features --verbose
+ "cargo" "build" "--target" "x86_64-unknown-linux-musl" "--all-features" "--verbose"
error: could not find `Cargo.toml` in `/Users/runner/work/rust-htslib/rust-htslib` or any parent directory
Error: The process 'cross' failed with exit code 101

Workflow code

  Testing-OSX:
    needs: Formatting
    runs-on: macOS-latest
    steps:
      - name: Test musl build with all features and debug symbols (non --release) on OSX
        uses: actions-rs/[email protected]
        with:
          use-cross: true
          command: build
          args: --target x86_64-unknown-linux-musl --all-features --verbose

Include macro not finding a file

Do the checklist before filing an issue:

Description

include_bytes! does not find a valid and existing file in the project directory

Workflow code

on: [push, pull_request]
name: xcompile
env:
  PKG_CONFIG_PATH: "/usr/lib/x86_64-linux-gnu/pkgconfig"

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    strategy:
      matrix:
        target:
          # - aarch64-apple-darwin
          # - x86_64-unknown-linux-gnu
          - x86_64-pc-windows-gnu
        cross: [true]
    steps:
      - uses: actions/checkout@v3
      - name: Check if BQN.Wasm exists
        run: file /home/runner/work/beacon/beacon/src/BQN.wasm
      - name: Toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: ${{ matrix.target }}
          override: true
      - name: Install dependencies
        run: |
          sudo apt-get install cmake pkg-config libfreetype6-dev fontconfig libfontconfig libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev
      - if: ${{ matrix.cross }}
        name: Create Cross.toml
        shell: bash
        run: |
          cat > Cross.toml <<EOF
          [build.env]
          passthrough = ["BQN_WASM"]
          EOF
      - name: Cargo Build
        uses: actions-rs/cargo@v1
        env:
          BQN_WASM: /home/runner/work/beacon/beacon/src/BQN.wasm
        with:
          use-cross: true
          command: build
          args: --release --target=${{ matrix.target }} --no-default-features --features=bqnwasm
      - name: Release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: |
            README.md
            LICENSE

Action output

output 2023-06-23T08:10:08.4308126Z Requested labels: ubuntu-latest 2023-06-23T08:10:08.4308494Z Job defined at: x86y/beacon/.github/workflows/compile.yml@refs/heads/develop 2023-06-23T08:10:08.4308634Z Waiting for a runner to pick up this job... 2023-06-23T08:10:08.9176201Z Job is waiting for a hosted runner to come online. 2023-06-23T08:10:12.7040464Z Job is about to start running on the hosted runner: GitHub Actions 2 (hosted) 2023-06-23T08:10:16.4213234Z Current runner version: '2.305.0' 2023-06-23T08:10:16.4248450Z ##[group]Operating System 2023-06-23T08:10:16.4249232Z Ubuntu 2023-06-23T08:10:16.4249508Z 22.04.2 2023-06-23T08:10:16.4249812Z LTS 2023-06-23T08:10:16.4250087Z ##[endgroup] 2023-06-23T08:10:16.4250435Z ##[group]Runner Image 2023-06-23T08:10:16.4250900Z Image: ubuntu-22.04 2023-06-23T08:10:16.4251260Z Version: 20230619.1.0 2023-06-23T08:10:16.4251783Z Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20230619.1.0/images/linux/Ubuntu2204-Readme.md 2023-06-23T08:10:16.4253362Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20230619.1.0 2023-06-23T08:10:16.4254051Z ##[endgroup] 2023-06-23T08:10:16.4254412Z ##[group]Runner Image Provisioner 2023-06-23T08:10:16.4254810Z 2.0.238.1 2023-06-23T08:10:16.4255147Z ##[endgroup] 2023-06-23T08:10:16.4256414Z ##[group]GITHUB_TOKEN Permissions 2023-06-23T08:10:16.4257322Z Actions: write 2023-06-23T08:10:16.4257936Z Checks: write 2023-06-23T08:10:16.4258416Z Contents: write 2023-06-23T08:10:16.4258764Z Deployments: write 2023-06-23T08:10:16.4259113Z Discussions: write 2023-06-23T08:10:16.4259399Z Issues: write 2023-06-23T08:10:16.4259737Z Metadata: read 2023-06-23T08:10:16.4260122Z Packages: write 2023-06-23T08:10:16.4260406Z Pages: write 2023-06-23T08:10:16.4260751Z PullRequests: write 2023-06-23T08:10:16.4261168Z RepositoryProjects: write 2023-06-23T08:10:16.4261497Z SecurityEvents: write 2023-06-23T08:10:16.4261897Z Statuses: write 2023-06-23T08:10:16.4262241Z ##[endgroup] 2023-06-23T08:10:16.4267118Z Secret source: Actions 2023-06-23T08:10:16.4267749Z Prepare workflow directory 2023-06-23T08:10:16.5354015Z Prepare all required actions 2023-06-23T08:10:16.5582395Z Getting action download info 2023-06-23T08:10:16.8762816Z Download action repository 'actions/checkout@v3' (SHA:c85c95e3d7251135ab7dc9ce3241c5835cc595a9) 2023-06-23T08:10:17.2553827Z Download action repository 'actions-rs/toolchain@v1' (SHA:16499b5e05bf2e26879000db0c1d13f7e13fa3af) 2023-06-23T08:10:17.4486786Z Download action repository 'actions-rs/cargo@v1' (SHA:844f36862e911db73fe0815f00a4a2602c279505) 2023-06-23T08:10:17.6403038Z Download action repository 'softprops/action-gh-release@v1' (SHA:de2c0eb89ae2a093876385947365aca7b0e5f844) 2023-06-23T08:10:17.9516092Z Complete job name: Build (x86_64-pc-windows-gnu, true) 2023-06-23T08:10:18.0805545Z ##[group]Run actions/checkout@v3 2023-06-23T08:10:18.0806212Z with: 2023-06-23T08:10:18.0806509Z repository: x86y/beacon 2023-06-23T08:10:18.0807301Z token: *** 2023-06-23T08:10:18.0807770Z ssh-strict: true 2023-06-23T08:10:18.0808143Z persist-credentials: true 2023-06-23T08:10:18.0808633Z clean: true 2023-06-23T08:10:18.1000875Z sparse-checkout-cone-mode: true 2023-06-23T08:10:18.1001398Z fetch-depth: 1 2023-06-23T08:10:18.1001645Z lfs: false 2023-06-23T08:10:18.1002048Z submodules: false 2023-06-23T08:10:18.1002466Z set-safe-directory: true 2023-06-23T08:10:18.1002755Z env: 2023-06-23T08:10:18.1003057Z PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig 2023-06-23T08:10:18.1003539Z ##[endgroup] 2023-06-23T08:10:18.4272025Z Syncing repository: x86y/beacon 2023-06-23T08:10:18.4274526Z ##[group]Getting Git version info 2023-06-23T08:10:18.4275282Z Working directory is '/home/runner/work/beacon/beacon' 2023-06-23T08:10:18.4275938Z [command]/usr/bin/git version 2023-06-23T08:10:18.4351228Z git version 2.41.0 2023-06-23T08:10:18.4384533Z ##[endgroup] 2023-06-23T08:10:18.4405683Z Temporarily overriding HOME='/home/runner/work/_temp/8a6de97c-5979-4fb3-b6b0-11488f9567ca' before making global git config changes 2023-06-23T08:10:18.4406165Z Adding repository directory to the temporary git global config as a safe directory 2023-06-23T08:10:18.4412813Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/beacon/beacon 2023-06-23T08:10:18.4457300Z Deleting the contents of '/home/runner/work/beacon/beacon' 2023-06-23T08:10:18.4463501Z ##[group]Initializing the repository 2023-06-23T08:10:18.4469888Z [command]/usr/bin/git init /home/runner/work/beacon/beacon 2023-06-23T08:10:18.4578012Z hint: Using 'master' as the name for the initial branch. This default branch name 2023-06-23T08:10:18.4578871Z hint: is subject to change. To configure the initial branch name to use in all 2023-06-23T08:10:18.4580212Z hint: of your new repositories, which will suppress this warning, call: 2023-06-23T08:10:18.4580783Z hint: 2023-06-23T08:10:18.4581818Z hint: git config --global init.defaultBranch 2023-06-23T08:10:18.4582561Z hint: 2023-06-23T08:10:18.4583399Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2023-06-23T08:10:18.4584310Z hint: 'development'. The just-created branch can be renamed via this command: 2023-06-23T08:10:18.4585108Z hint: 2023-06-23T08:10:18.4585669Z hint: git branch -m 2023-06-23T08:10:18.4596191Z Initialized empty Git repository in /home/runner/work/beacon/beacon/.git/ 2023-06-23T08:10:18.4608517Z [command]/usr/bin/git remote add origin https://github.com/x86y/beacon 2023-06-23T08:10:18.4659919Z ##[endgroup] 2023-06-23T08:10:18.4660681Z ##[group]Disabling automatic garbage collection 2023-06-23T08:10:18.4663371Z [command]/usr/bin/git config --local gc.auto 0 2023-06-23T08:10:18.4702424Z ##[endgroup] 2023-06-23T08:10:18.4703171Z ##[group]Setting up auth 2023-06-23T08:10:18.4713766Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2023-06-23T08:10:18.4750032Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2023-06-23T08:10:18.5215765Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2023-06-23T08:10:18.5246036Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2023-06-23T08:10:18.5535461Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2023-06-23T08:10:18.5569487Z ##[endgroup] 2023-06-23T08:10:18.5570142Z ##[group]Fetching the repository 2023-06-23T08:10:18.5584117Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +53e18a44ca6e8d48efbe9e4dd894308e0e3b19bd:refs/remotes/origin/develop 2023-06-23T08:10:18.7453684Z remote: Enumerating objects: 133, done. 2023-06-23T08:10:18.7459972Z remote: Counting objects: 0% (1/133) 2023-06-23T08:10:18.7460895Z remote: Counting objects: 1% (2/133) 2023-06-23T08:10:18.7461462Z remote: Counting objects: 2% (3/133) 2023-06-23T08:10:18.7462593Z remote: Counting objects: 3% (4/133) 2023-06-23T08:10:18.7463289Z remote: Counting objects: 4% (6/133) 2023-06-23T08:10:18.7463999Z remote: Counting objects: 5% (7/133) 2023-06-23T08:10:18.7464523Z remote: Counting objects: 6% (8/133) 2023-06-23T08:10:18.7465277Z remote: Counting objects: 7% (10/133) 2023-06-23T08:10:18.7466056Z remote: Counting objects: 8% (11/133) 2023-06-23T08:10:18.7466787Z remote: Counting objects: 9% (12/133) 2023-06-23T08:10:18.7467314Z remote: Counting objects: 10% (14/133) 2023-06-23T08:10:18.7469317Z remote: Counting objects: 11% (15/133) 2023-06-23T08:10:18.7470097Z remote: Counting objects: 12% (16/133) 2023-06-23T08:10:18.7471076Z remote: Counting objects: 13% (18/133) 2023-06-23T08:10:18.7471814Z remote: Counting objects: 14% (19/133) 2023-06-23T08:10:18.7472800Z remote: Counting objects: 15% (20/133) ... 2023-06-23T08:10:18.9525505Z Resolving deltas: 37% (3/8) 2023-06-23T08:10:18.9531238Z Resolving deltas: 50% (4/8) 2023-06-23T08:10:18.9536252Z Resolving deltas: 62% (5/8) 2023-06-23T08:10:18.9540060Z Resolving deltas: 75% (6/8) 2023-06-23T08:10:18.9544418Z Resolving deltas: 87% (7/8) 2023-06-23T08:10:18.9555027Z Resolving deltas: 100% (8/8) 2023-06-23T08:10:18.9555334Z Resolving deltas: 100% (8/8), done. 2023-06-23T08:10:19.0952289Z From https://github.com/x86y/beacon 2023-06-23T08:10:19.0953539Z * [new ref] 53e18a44ca6e8d48efbe9e4dd894308e0e3b19bd -> origin/develop 2023-06-23T08:10:19.1008944Z ##[endgroup] 2023-06-23T08:10:19.1009696Z ##[group]Determining the checkout info 2023-06-23T08:10:19.1010641Z ##[endgroup] 2023-06-23T08:10:19.1011298Z ##[group]Checking out the ref 2023-06-23T08:10:19.1012395Z [command]/usr/bin/git checkout --progress --force -B develop refs/remotes/origin/develop 2023-06-23T08:10:19.1622802Z Switched to a new branch 'develop' 2023-06-23T08:10:19.1627469Z branch 'develop' set up to track 'origin/develop'. 2023-06-23T08:10:19.1657012Z ##[endgroup] 2023-06-23T08:10:19.1710897Z [command]/usr/bin/git log -1 --format='%H' 2023-06-23T08:10:19.1733247Z '53e18a44ca6e8d48efbe9e4dd894308e0e3b19bd' 2023-06-23T08:10:19.2086409Z ##[group]Run file /home/runner/work/beacon/beacon/src/BQN.wasm 2023-06-23T08:10:19.2086883Z ๏ฟฝ[36;1mfile /home/runner/work/beacon/beacon/src/BQN.wasm๏ฟฝ[0m 2023-06-23T08:10:19.2156420Z shell: /usr/bin/bash -e {0} 2023-06-23T08:10:19.2156681Z env: 2023-06-23T08:10:19.2157135Z PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig 2023-06-23T08:10:19.2157425Z ##[endgroup] 2023-06-23T08:10:19.4451193Z /home/runner/work/beacon/beacon/src/BQN.wasm: WebAssembly (wasm) binary module version 0x1 (MVP) 2023-06-23T08:10:19.4525124Z ##[group]Run actions-rs/toolchain@v1 2023-06-23T08:10:19.4525393Z with: 2023-06-23T08:10:19.4525585Z toolchain: stable 2023-06-23T08:10:19.4525810Z target: x86_64-pc-windows-gnu 2023-06-23T08:10:19.4526009Z override: true 2023-06-23T08:10:19.4526207Z default: false 2023-06-23T08:10:19.4526392Z env: 2023-06-23T08:10:19.4526811Z PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig 2023-06-23T08:10:19.4527238Z ##[endgroup] 2023-06-23T08:10:19.6248133Z [command]/home/runner/.cargo/bin/rustup show 2023-06-23T08:10:20.0126908Z Default host: x86_64-unknown-linux-gnu 2023-06-23T08:10:20.0133052Z rustup home: /home/runner/.rustup 2023-06-23T08:10:20.0137910Z 2023-06-23T08:10:20.1143672Z stable-x86_64-unknown-linux-gnu (default) 2023-06-23T08:10:20.2883997Z rustc 1.70.0 (90c541806 2023-05-31) 2023-06-23T08:10:20.3033548Z [command]/home/runner/.cargo/bin/rustup toolchain install stable 2023-06-23T08:10:20.4036551Z info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' 2023-06-23T08:10:20.4983998Z 2023-06-23T08:10:20.5151751Z stable-x86_64-unknown-linux-gnu unchanged - rustc 1.70.0 (90c541806 2023-05-31) 2023-06-23T08:10:20.5152519Z 2023-06-23T08:10:20.5152798Z info: checking for self-update 2023-06-23T08:10:20.5211788Z warning: tool `rust-analyzer` is already installed, remove it from `/home/runner/.cargo/bin`, then run `rustup update` to have rustup manage this tool. 2023-06-23T08:10:20.5212730Z warning: tool `rustfmt` is already installed, remove it from `/home/runner/.cargo/bin`, then run `rustup update` to have rustup manage this tool. 2023-06-23T08:10:20.5215607Z warning: tool `cargo-fmt` is already installed, remove it from `/home/runner/.cargo/bin`, then run `rustup update` to have rustup manage this tool. 2023-06-23T08:10:20.5240513Z [command]/home/runner/.cargo/bin/rustup override set stable 2023-06-23T08:10:20.5317996Z info: using existing install for 'stable-x86_64-unknown-linux-gnu' 2023-06-23T08:10:20.5318593Z info: override toolchain for '/home/runner/work/beacon/beacon' set to 'stable-x86_64-unknown-linux-gnu' 2023-06-23T08:10:20.5336857Z 2023-06-23T08:10:20.5512649Z stable-x86_64-unknown-linux-gnu unchanged - rustc 1.70.0 (90c541806 2023-05-31) 2023-06-23T08:10:20.5513324Z 2023-06-23T08:10:20.5530166Z [command]/home/runner/.cargo/bin/rustup target add --toolchain stable x86_64-pc-windows-gnu 2023-06-23T08:10:20.6355827Z info: downloading component 'rust-std' for 'x86_64-pc-windows-gnu' 2023-06-23T08:10:20.9368312Z info: installing component 'rust-std' for 'x86_64-pc-windows-gnu' 2023-06-23T08:10:23.5293056Z ##[group]Gathering installed versions 2023-06-23T08:10:23.5305150Z [command]/home/runner/.cargo/bin/rustc -V 2023-06-23T08:10:23.6000567Z rustc 1.70.0 (90c541806 2023-05-31) 2023-06-23T08:10:23.6042088Z ##[warning]The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ 2023-06-23T08:10:23.6055322Z ##[warning]The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ 2023-06-23T08:10:23.6056315Z [command]/home/runner/.cargo/bin/cargo -V 2023-06-23T08:10:24.1910707Z cargo 1.70.0 (ec8a8a0ca 2023-04-25) 2023-06-23T08:10:24.1923775Z ##[warning]The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ 2023-06-23T08:10:24.1935510Z [command]/home/runner/.cargo/bin/rustup -V 2023-06-23T08:10:24.1987114Z rustup 1.26.0 (5af9b9484 2023-04-05) 2023-06-23T08:10:24.1988018Z info: This is the version for the rustup toolchain manager, not the rustc compiler. 2023-06-23T08:10:24.2581060Z info: The currently active `rustc` version is `rustc 1.70.0 (90c541806 2023-05-31)` 2023-06-23T08:10:24.2599305Z ##[warning]The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ 2023-06-23T08:10:24.2602068Z ##[endgroup] 2023-06-23T08:10:24.2728736Z ##[group]Run sudo apt-get install cmake pkg-config libfreetype6-dev fontconfig libfontconfig libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev 2023-06-23T08:10:24.2729368Z ๏ฟฝ[36;1msudo apt-get install cmake pkg-config libfreetype6-dev fontconfig libfontconfig libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev๏ฟฝ[0m 2023-06-23T08:10:24.2786284Z shell: /usr/bin/bash -e {0} 2023-06-23T08:10:24.2786505Z env: 2023-06-23T08:10:24.2786734Z PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig 2023-06-23T08:10:24.2786978Z ##[endgroup] 2023-06-23T08:10:29.0670519Z Reading package lists... 2023-06-23T08:10:29.2329449Z Building dependency tree... 2023-06-23T08:10:29.2542713Z Reading state information... 2023-06-23T08:10:29.3950233Z fontconfig is already the newest version (2.13.1-4.2ubuntu5). 2023-06-23T08:10:29.3950975Z fontconfig set to manually installed. 2023-06-23T08:10:29.3953919Z libfontconfig1 is already the newest version (2.13.1-4.2ubuntu5). 2023-06-23T08:10:29.3956237Z libfontconfig1 set to manually installed. 2023-06-23T08:10:29.3956797Z libfontconfig1-dev is already the newest version (2.13.1-4.2ubuntu5). 2023-06-23T08:10:29.3957336Z libfontconfig1-dev set to manually installed. 2023-06-23T08:10:29.3957886Z pkg-config is already the newest version (0.29.2-1ubuntu3). 2023-06-23T08:10:29.3959653Z libfreetype6-dev is already the newest version (2.11.1+dfsg-1ubuntu0.2). 2023-06-23T08:10:29.3960405Z libfreetype6-dev set to manually installed. 2023-06-23T08:10:29.3961082Z The following additional packages will be installed: 2023-06-23T08:10:29.3961616Z cmake-data dh-elpa-helper libjsoncpp25 librhash0 libxcb-shape0 2023-06-23T08:10:29.3961935Z libxcb-shape0-dev 2023-06-23T08:10:29.4009698Z Suggested packages: 2023-06-23T08:10:29.4010256Z cmake-doc ninja-build cmake-format 2023-06-23T08:10:29.4494721Z The following NEW packages will be installed: 2023-06-23T08:10:29.4499848Z cmake cmake-data dh-elpa-helper libjsoncpp25 librhash0 libxcb-shape0 2023-06-23T08:10:29.4503101Z libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev 2023-06-23T08:10:29.6667155Z 0 upgraded, 9 newly installed, 0 to remove and 27 not upgraded. 2023-06-23T08:10:29.6668409Z Need to get 7219 kB of archives. 2023-06-23T08:10:29.6668729Z After this operation, 32.4 MB of additional disk space will be used. 2023-06-23T08:10:29.6669784Z Get:1 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libjsoncpp25 amd64 1.9.5-3 [80.0 kB] 2023-06-23T08:10:29.7232555Z Get:2 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 librhash0 amd64 1.4.2-1ubuntu1 [125 kB] 2023-06-23T08:10:29.7535978Z Get:3 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 dh-elpa-helper all 2.0.9ubuntu1 [7610 B] 2023-06-23T08:10:29.7690235Z Get:4 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 cmake-data all 3.22.1-1ubuntu1.22.04.1 [1913 kB] 2023-06-23T08:10:29.8382306Z Get:5 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 cmake amd64 3.22.1-1ubuntu1.22.04.1 [5013 kB] 2023-06-23T08:10:29.9089655Z Get:6 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-shape0 amd64 1.14-3ubuntu3 [6158 B] 2023-06-23T08:10:29.9243525Z Get:7 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-shape0-dev amd64 1.14-3ubuntu3 [7320 B] 2023-06-23T08:10:29.9401187Z Get:8 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libxcb-xfixes0-dev amd64 1.14-3ubuntu3 [12.5 kB] 2023-06-23T08:10:29.9559038Z Get:9 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libxkbcommon-dev amd64 1.4.0-1 [54.9 kB] 2023-06-23T08:10:30.4347125Z Fetched 7219 kB in 1s (14.4 MB/s) 2023-06-23T08:10:30.5314262Z Selecting previously unselected package libjsoncpp25:amd64. 2023-06-23T08:10:30.5590270Z (Reading database ... 2023-06-23T08:10:30.5590548Z (Reading database ... 5% 2023-06-23T08:10:30.5590949Z (Reading database ... 10% 2023-06-23T08:10:30.5591447Z (Reading database ... 15% 2023-06-23T08:10:30.5591775Z (Reading database ... 20% 2023-06-23T08:10:30.5592053Z (Reading database ... 25% 2023-06-23T08:10:30.5592652Z (Reading database ... 30% 2023-06-23T08:10:30.5592901Z (Reading database ... 35% 2023-06-23T08:10:30.5593310Z (Reading database ... 40% 2023-06-23T08:10:30.5593550Z (Reading database ... 45% 2023-06-23T08:10:30.5593773Z (Reading database ... 50% 2023-06-23T08:10:30.8716329Z (Reading database ... 55% 2023-06-23T08:10:31.0780747Z (Reading database ... 60% 2023-06-23T08:10:31.2887845Z (Reading database ... 65% 2023-06-23T08:10:31.6106491Z (Reading database ... 70% 2023-06-23T08:10:32.4169179Z (Reading database ... 75% 2023-06-23T08:10:33.5238521Z (Reading database ... 80% 2023-06-23T08:10:34.4638721Z (Reading database ... 85% 2023-06-23T08:10:35.4049789Z (Reading database ... 90% 2023-06-23T08:10:36.4231405Z (Reading database ... 95% 2023-06-23T08:10:36.4232262Z (Reading database ... 100% 2023-06-23T08:10:36.4233281Z (Reading database ... 221163 files and directories currently installed.) 2023-06-23T08:10:36.4367679Z Preparing to unpack .../0-libjsoncpp25_1.9.5-3_amd64.deb ... 2023-06-23T08:10:36.4495982Z Unpacking libjsoncpp25:amd64 (1.9.5-3) ... 2023-06-23T08:10:36.4865869Z Selecting previously unselected package librhash0:amd64. 2023-06-23T08:10:36.5111811Z Preparing to unpack .../1-librhash0_1.4.2-1ubuntu1_amd64.deb ... 2023-06-23T08:10:36.5142677Z Unpacking librhash0:amd64 (1.4.2-1ubuntu1) ... 2023-06-23T08:10:36.5501251Z Selecting previously unselected package dh-elpa-helper. 2023-06-23T08:10:36.5766622Z Preparing to unpack .../2-dh-elpa-helper_2.0.9ubuntu1_all.deb ... 2023-06-23T08:10:36.5799872Z Unpacking dh-elpa-helper (2.0.9ubuntu1) ... 2023-06-23T08:10:36.6248252Z Selecting previously unselected package cmake-data. 2023-06-23T08:10:36.6499066Z Preparing to unpack .../3-cmake-data_3.22.1-1ubuntu1.22.04.1_all.deb ... 2023-06-23T08:10:36.6613305Z Unpacking cmake-data (3.22.1-1ubuntu1.22.04.1) ... 2023-06-23T08:10:37.2962085Z Selecting previously unselected package cmake. 2023-06-23T08:10:37.3221712Z Preparing to unpack .../4-cmake_3.22.1-1ubuntu1.22.04.1_amd64.deb ... 2023-06-23T08:10:37.3239180Z Unpacking cmake (3.22.1-1ubuntu1.22.04.1) ... 2023-06-23T08:10:37.5056923Z Selecting previously unselected package libxcb-shape0:amd64. 2023-06-23T08:10:37.5311622Z Preparing to unpack .../5-libxcb-shape0_1.14-3ubuntu3_amd64.deb ... 2023-06-23T08:10:37.5332908Z Unpacking libxcb-shape0:amd64 (1.14-3ubuntu3) ... 2023-06-23T08:10:37.5629735Z Selecting previously unselected package libxcb-shape0-dev:amd64. 2023-06-23T08:10:37.5855304Z Preparing to unpack .../6-libxcb-shape0-dev_1.14-3ubuntu3_amd64.deb ... 2023-06-23T08:10:37.5875311Z Unpacking libxcb-shape0-dev:amd64 (1.14-3ubuntu3) ... 2023-06-23T08:10:37.6302066Z Selecting previously unselected package libxcb-xfixes0-dev:amd64. 2023-06-23T08:10:37.6553742Z Preparing to unpack .../7-libxcb-xfixes0-dev_1.14-3ubuntu3_amd64.deb ... 2023-06-23T08:10:37.6572415Z Unpacking libxcb-xfixes0-dev:amd64 (1.14-3ubuntu3) ... 2023-06-23T08:10:37.6869184Z Selecting previously unselected package libxkbcommon-dev:amd64. 2023-06-23T08:10:37.7075496Z Preparing to unpack .../8-libxkbcommon-dev_1.4.0-1_amd64.deb ... 2023-06-23T08:10:37.7098919Z Unpacking libxkbcommon-dev:amd64 (1.4.0-1) ... 2023-06-23T08:10:37.7767855Z Setting up libxkbcommon-dev:amd64 (1.4.0-1) ... 2023-06-23T08:10:37.7820429Z Setting up libxcb-shape0:amd64 (1.14-3ubuntu3) ... 2023-06-23T08:10:37.7873333Z Setting up dh-elpa-helper (2.0.9ubuntu1) ... 2023-06-23T08:10:37.7925655Z Setting up libjsoncpp25:amd64 (1.9.5-3) ... 2023-06-23T08:10:37.7970067Z Setting up libxcb-shape0-dev:amd64 (1.14-3ubuntu3) ... 2023-06-23T08:10:37.8022952Z Setting up librhash0:amd64 (1.4.2-1ubuntu1) ... 2023-06-23T08:10:37.8076739Z Setting up cmake-data (3.22.1-1ubuntu1.22.04.1) ... 2023-06-23T08:10:37.8890808Z Setting up libxcb-xfixes0-dev:amd64 (1.14-3ubuntu3) ... 2023-06-23T08:10:37.8943492Z Setting up cmake (3.22.1-1ubuntu1.22.04.1) ... 2023-06-23T08:10:37.9002993Z Processing triggers for man-db (2.10.2-1) ... 2023-06-23T08:10:38.9603092Z Processing triggers for libc-bin (2.35-0ubuntu3.1) ... 2023-06-23T08:10:44.7263851Z NEEDRESTART-VER: 3.5 2023-06-23T08:10:45.4958322Z NEEDRESTART-KCUR: 5.15.0-1040-azure 2023-06-23T08:10:45.4959727Z NEEDRESTART-KEXP: 5.15.0-1040-azure 2023-06-23T08:10:45.4960787Z NEEDRESTART-KSTA: 1 2023-06-23T08:10:47.5142232Z ##[group]Run cat > Cross.toml < Cross.toml < /cargo/registry/src/index.crates.io-6f17d22bba15001f/cbqn-0.1.0/src/backend/wasi.rs:94:36 2023-06-23T08:24:14.8799006Z | 2023-06-23T08:24:14.8799684Z 94 | static WASM_BYTES: &'static [u8] = include_bytes!(env!("BQN_WASM")); 2023-06-23T08:24:14.8800060Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-06-23T08:24:14.8800308Z | 2023-06-23T08:24:14.8801008Z = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) 2023-06-23T08:24:14.8801312Z 2023-06-23T08:24:15.4130417Z error: could not compile `cbqn` (lib) due to previous error 2023-06-23T08:24:15.4145360Z ##[error]warning: build failed, waiting for other jobs to finish... 2023-06-23T08:25:08.2728283Z ##[error]The process 'cross' failed with exit code 101 2023-06-23T08:25:08.2860552Z Post job cleanup. 2023-06-23T08:25:08.4387079Z [command]/usr/bin/git version 2023-06-23T08:25:08.4463033Z git version 2.41.0 2023-06-23T08:25:08.4549223Z Temporarily overriding HOME='/home/runner/work/_temp/4b881e93-0318-4202-a6e0-6245940c00ee' before making global git config changes 2023-06-23T08:25:08.4552381Z Adding repository directory to the temporary git global config as a safe directory 2023-06-23T08:25:08.4562408Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/beacon/beacon 2023-06-23T08:25:08.4621436Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2023-06-23T08:25:08.4674764Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2023-06-23T08:25:08.5067049Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2023-06-23T08:25:08.5113451Z http.https://github.com/.extraheader 2023-06-23T08:25:08.5144348Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2023-06-23T08:25:08.5270286Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2023-06-23T08:25:08.5876767Z Cleaning up orphan processes

Expected behavior

BQN.wasm should have been found. It works locally.

Additional context

For debugging purposes I added a step that checked the existence of the wasm file, with the following command: file /home/runner/work/beacon/beacon/src/BQN.wasm and the output of that step is:

Run file /home/runner/work/beacon/beacon/src/BQN.wasm
/home/runner/work/beacon/beacon/src/BQN.wasm: WebAssembly (wasm) binary module version 0x1 (MVP)

But later in the build step, cargo is unable find the same file

error: couldn't read /home/runner/work/beacon/beacon/src/BQN.wasm: No such file or directory (os error 2)

Error:   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/cbqn-0.1.0/src/backend/wasi.rs:94:36
   |
94 | static WASM_BYTES: &'static [u8] = include_bytes!(env!("BQN_WASM"));
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |

Unable to compile with openssl for aarch64-unknown-linux-gnu

Do the checklist before filing an issue:

Description

Hi, I'm creating this issue because i've spend a couple of DAYS trying to solve the following problem but no success.
I got a rust web server which has the following dependency openssl = { version = "=0.10.45", features = ["vendored"] } which is fails to compile when i use cross in Github Action. Previously it was working, but as i understand there is no longer support of openssl in cross so it is just started to fail. I've tried to install openssl, it is present in a system but during compilation i got the following error:

error: failed to run custom build command for `sasl2-sys v0.1.20+2.1.28`

Caused by:
  process didn't exit successfully: `/target/release/build/sasl2-sys-f091b2042744285f/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=SASL2_STATIC
  cargo:rerun-if-env-changed=LIBSASL2_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

--- stderr
  thread 'main' panicked at 'Unable to find libsasl2 on your system. Hints:

    * Have you installed the libsasl2 development package for your platform?
      On Debian-based systems, try libsasl2-dev. On RHEL-based systems, try
      cyrus-sasl-devel. On macOS with Homebrew, try cyrus-sasl.

    * Have you incorrectly set the SASL2_STATIC environment variable when your
      system only supports dynamic linking?

    * Are you willing to enable the `vendored` feature to instead build and link
      against a bundled copy of libsasl2?
  ', /cargo/registry/src/github.com-1ecc6299db9ec823/sasl2-sys-0.1.20+2.1.28/build.rs:342:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Looking for help and suggestions for this, thank you very much

Workflow code

This is my pipeline which was working previously:

...
jobs:
  build:
    name: Build for Raspberry PI
    runs-on: ubuntu-20.04

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2
        with:
          submodules: recursive

      - uses: actions-rs/toolchain@v1
        with:
          toolchain: 1.62.1-x86_64-unknown-linux-gnu
          target: aarch64-unknown-linux-gnu
          override: true

      - uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build
          args: --release --target aarch64-unknown-linux-gnu
...

Action output

error: failed to run custom build command for `sasl2-sys v0.1.20+2.1.28`

Caused by:
  process didn't exit successfully: `/target/release/build/sasl2-sys-f091b2042744285f/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=SASL2_STATIC
  cargo:rerun-if-env-changed=LIBSASL2_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

--- stderr
  thread 'main' panicked at 'Unable to find libsasl2 on your system. Hints:

    * Have you installed the libsasl2 development package for your platform?
      On Debian-based systems, try libsasl2-dev. On RHEL-based systems, try
      cyrus-sasl-devel. On macOS with Homebrew, try cyrus-sasl.

    * Have you incorrectly set the SASL2_STATIC environment variable when your
      system only supports dynamic linking?

    * Are you willing to enable the `vendored` feature to instead build and link
      against a bundled copy of libsasl2?
  ', /cargo/registry/src/github.com-1ecc6299db9ec823/sasl2-sys-0.1.20+2.1.28/build.rs:342:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Expected behavior

Should be able to cross compile to specified target especially when openssl is set as vendored

Additional context

I had another pipeline which doesn't compile due to openssl but it is not cross compiling to another target and it was fixed just but adding those suggested commands.

I've tried adding following configuration but doesn't matter what i do openssl package can't detect openssl on a system

sudo apt install libssl-dev libsasl2-dev
touch $HOME/.cargo/config && cd $HOME/.cargo
echo [target.aarch64-unknown-linux-gnu] >> ./config
echo pre-build = [\"sudo apt install libssl-dev libsasl2-dev\"] >> ./config

and

sudo dpkg --add-architecture arm64
sudo apt-get update && sudo apt install libssl-dev libssl-dev:arm64 libsasl2-dev -y
sudo apt install gcc-aarch64-linux-gnu
sudo apt-get install build-essential gcc make perl dkms
touch $HOME/.cargo/config && cd $HOME/.cargo
echo "[target.aarch64-unknown-linux-gnu]" >> ./config
echo "linker = \"/usr/bin/aarch64-linux-gnu-gcc\"" >> ./config

Looking for help and suggestions for this, thank you very much

Paths with `..` in Rust code are interpreted as a directory called `..` and not as the parent directory

Description

Paths with .. in Rust code are interpreted as a directory called .. and not as the parent directory.

Workflow code

https://github.com/ReagentX/glicko2/blob/07c00b9dafa8305b1ed1a8ff1ebfe252ec5c8505/.github/workflows/test.yml

Action output

error: couldn't read src/../README.md: No such file or directory (os error 2)
11 --> src/lib.rs:2:9
12   |
13 2 | #[doc = include_str!("../README.md")]
14   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15   |
16   = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
17
18 error: could not compile `glicko2` due to previous error

Expected behavior

#[doc = include_str!("../README.md")] evaluates to the parent directory instead of a directory literally called .. (in the above error, src/../README.md)

Additional context

This works locally, just not in the action.

miri seems to hang

For example, see Ralith/hecs#4; as of this writing various attempts at this have spun for upwards of twenty minutes before being cancelled, while a local run completes in seconds. Not sure how to get any feedback from the action while it's running, so it's unclear what might be happening here.

Please update action.yml to use Node16

Do the checklist before filing an issue:

Description

In my project, I'm seeing deprecation warnings about Node12. They look like:

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: jetli/[email protected], actions-rs/cargo@v1

Could you update the action.yml file to use node16 as described in https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-javascript-actions

Thanks!

Workflow code

See above

Action output

See above

Expected behavior

No node12 warnings

Additional context

Add any other context about the problem here.

fmt action with a specified manifest located in a sub-folder did not find the parent folder rustfmt.toml config

Do the checklist before filing an issue:

Description

I am running the action-rs fmt action with a specified manifest in a subdir --manifest-path ./2021/Cargo.toml and the action fail at finding the rustfmt.toml file that is in the parent folder, leading to the formating check to fail

Workflow code

fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - run: rustup component add rustfmt
      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --manifest-path ./2021/Cargo.toml --all -- --check 

Action output

Run actions-rs/cargo@v1
  with:
    command: fmt
    args: --manifest-path ./2021/Cargo.toml --all -- --check
    use-cross: false
/home/runner/.cargo/bin/cargo fmt --manifest-path ./2021/Cargo.toml --all -- --check
Diff in /home/runner/work/advent-of-code/advent-of-code/2021/src/common.rs at line 7:
 /// ```
 pub fn cartesian<I, E>(a: I, b: I) -> impl Iterator<Item = (E, E)>
 where

Expected behavior

The rustfmt command should be able to pull the config from the parent folder.

Cargo builds on macOS runners have ephemeral failures

I have a question about running Cargo builds on macOS, and I was wondering if someone might know the answer.

We've been experience flaky builds (unicode-org/icu4x#201) caused by ephemeral build errors that appear to have started showing up all of a sudden on a few PRs.

The error message in the log mentions error[E0463]: can't find crate for serde_derive which serde depends on, and when I looked through serde-rs/serde#856 and similar issues (and verified the transitive dependencies' versions of serde used, using cargo-tree), I don't see the same serde version conflict problems that were described. And either way, I don't think that would explain the ephemeral nature.

One possible theory is that it might relate to this issue from 3 years ago of cargo build failing on macOS due to linking issues when dependencies are added (rust-lang/cargo#4775). I don't know if that is still relevant to cargo builds. The GH builds that use the GH caching action (thereby retrieving cargo crate cache) are the ones that seem to fail ephemerally (ex1, ex2). The tests run after I turned off the GH caching action seem to pass (ex1, ex2). And FWIW, in my personal fork, even when I leave the GH cache action on, the builds pass (ex1, ex2).

Any pointers or suggestions would be appreciated, thanks.

Cache target directory between runs

Motivation

Building a Rust project takes a lot of time if many dependencies are involved. In my case I have >2 minutes build time, of which only a few seconds are from my own crates. This could be greatly reduced by caching the target directory with the dependency cache.

Workflow example

steps:
  - name: Cargo check
    uses: actions-rs/cargo@v2
    with:
      command: check
      use-cache: true # cache the target directory between runs

Additional context

The action is actions/cache.

There is an example on how to use it for the .cargo directory. Employing that example prevents cargo from redownloading all the crates on every run, but it still recompiles them.

Allow to specify `cross` version

Do the checklist before filing an issue:

Motivation

Cross-compilation is super useful, but sadly cross is sometimes breaking things such as the compilation for powerpc64-unknown-linux-gnu and it doesn't really do semver when breaking stuff, but still has past versions we could use instead.

This project was already hit once: 4630dea

So I propose to be able to tag a cross version in the action.

Workflow example

  cross-test:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        rust_target:
          - powerpc-unknown-linux-gnu
          - powerpc64-unknown-linux-gnu
          - powerpc64le-unknown-linux-gnu
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust nightly
        uses: actions-rs/toolchain@v1
        with:
            toolchain: nightly
            profile: minimal
            target: ${{ matrix.rust_target }}
            default: true
      - name: Build
        uses: actions-rs/cargo@v1
        with:
          use-cross: v0.1.16
          command: build
          args: --target ${{ matrix.rust_target }}
      - name: Test
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: test
          args: --target ${{ matrix.rust_target }}

When nothing is specified in the "use-cross" field, it would just use the existing cross version or download the latest, but if something is specified, it should fetch that version of cross instead.

Action to test for no_std

On all no_std supporting crates I typically need to test for no_std compatibility in CI. This blog has some useful advice on how this can be done. Is it possible this can be added here? Is this the right place? Thank you and much appreciated. I love actions-rs.

Here is a crate I am doing this as an example currently: https://github.com/rust-cv/eight-point

[Feature request] Add action typings

Hi @actions-rs!

Maintainer of https://github.com/krzema12/github-actions-kotlin-dsl here. Your actions have first-class support in the library.

Recently we've come up with a way to reduce operational load when keeping library's action wrappers in sync with action's inputs. The solution includes onboarding https://github.com/krzema12/github-actions-typing. It's as easy as adding an extra YAML file to your repository root, and adding a simple GitHub workflow that validates this new file. Thanks to this, the code generator in the Kotlin DSL can fetch typing info provided by you instead of us, which has a number of benefits. It has no negative effects on current action consumers, they continue to use the action via regular GitHub API, as if the file wasn't there. The typings themselves are unaware of the Kotlin DSL, and any other tool (let it be another code generator or documentation tool) can use the typings if you provide them.

In this feature request, I would like to ask you if you're open to introducing such typings in your actions. You wouldn't be first - there're already other actions using it: https://github.com/krzema12/github-actions-typing/network/dependents

If your answer is "yes", feel free to either add it yourself, or let me know - me or some of my fellow contributors would be happy to post PRs. We're also open to any kind of questions and feedback.

Cache compilation of cross binary

Do the checklist before filing an issue:

Motivation

Cache compilation of cross binary and docker images used by cross. This should speed up all actions using cross.

Workflow example

We may want to add an option to opt out of caching?

Additional context

Job failing on trying to `cargo install` already existing crate

Do the checklist before filing an issue:

Description

On my GitHub Actions CI pipeline the actin-rs/cargo@v1 errors using the install command when, due to caching, the target crate is already installed.

Workflow code

My Workflow file:
https://github.com/mr-pascal/changelog-generator/actions/runs/3451578950/workflow
See the test_coverage job workflow.

# Install "grcov"
- uses: actions-rs/cargo@v1
  with:
    command: install
    args: grcov

Action output

Run actions-rs/cargo@v1
  with:
    command: install
    args: grcov
    use-cross: false
  env:
    RUSTFLAGS: -Cinstrument-coverage
    LLVM_PROFILE_FILE: coverage-%p-%m.profraw
/home/runner/.cargo/bin/cargo install grcov
    Updating crates.io index
error: binary `grcov` already exists in destination
Error: Add --force to overwrite
Error: The process '/home/runner/.cargo/bin/cargo' failed with exit code 101

Expected behavior

Instead of throwing an error and failing the job I would expect a plain "Ignored" notice, that the package already exists and the job just continues.

image

Additional context

I use caching in the workflow to speed it up significantly, as such also the previous installed grcov is kept in cache and available.

- uses: actions/cache@v3
  with:
    path: |
      ~/.cargo/bin/
      ~/.cargo/registry/index/
      ~/.cargo/registry/cache/
      ~/.cargo/git/db/
      target/
    key: ${{ runner.os }}-cargo-2-${{ hashFiles('**/Cargo.lock') }}

Using --force and just re-installing the crate is no option, since this would introduce also a re-compilation of the crate.

error: could not create home directory: '/.rustup' with use-cross

Hello! Thank you for this useful project

Description

A couple days ago my workflow stopped working without modification. Upon attempting to run cargo build with use-cross set to true I get this error:

Status: Downloaded newer image for clux/muslrust:latest
error: could not create home directory: '/.rustup'
Error: error: caused by: Permission denied (os error 13)
Error: The process 'cross' failed with exit code 1

Workflow code

Here is my workflow: https://github.com/gleam-lang/gleam/blob/e25991fe92901577b47b0c6d3d71894a7abbc5e0/.github/workflows/ci.yaml#L46-L51

I believe this to be a reproduction:

name: ci
on:
  pull_request:
  push:
    branches:
      - main
jobs:
  test:
    env:
      RUSTFLAGS: "-D warnings"
    name: test
    runs-on: ubuntu-latest

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

    - name: Install Rust toolchain
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        target: x86_64-unknown-linux-musl
        profile: minimal
        override: true

    - name: Build binary
      uses: actions-rs/cargo@v1
      with:
        use-cross: true
        command: build
        args: --release --target x86_64-unknown-linux-musl

Action output

Here is the full log https://github.com/gleam-lang/gleam/runs/2828986249?check_suite_focus=true

Expected behavior

cargo build runs

Thanks,
Louis

question how can i make the action do a recursive cargo build?

Do the checklist before filing an issue:

Motivation

one shot compile or build multiple project in one go.
alternative to one repo one project and reduce the amount of clicks needed for the ui.

Workflow example

If applicable, create an example on how this feature will look in the workflow yaml file.(pseudocode?)
 - uses action-rs/cargo
 - run:bashlooprecursive-dir(cargo build {matrix})

Additional context

Running cargo commands in a subdirectory?

Do the checklist before filing an issue:

Motivation

My understanding is this github action only supports running cargo commands from the root of the repo. Is it possible to run cargo commands from a subdirectory? The motivation is that I have a monorepo that has projects that use different languages. I'd like to run cargo commands only for the rust projects.

Additional context

I've tried to set "working-directory" at the top level but that didn't seem to work.

Installing rust toolchain 1.65 installs 1.64

This is my workflow file:

- name: Install stable with clippy and rustfmt
  uses: actions-rs/toolchain@v1
  with:
      profile: minimal
  toolchain: 1.65
  components: rustfmt, clippy

This is the logging:

Run actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.65
components: rustfmt, clippy
default: false
override: false
env:
CARGO_TERM_COLOR: always
CARGO_NET_GIT_FETCH_WITH_CLI: true
SSH_AUTH_SOCK: /tmp/ssh-IvKvFOZfPPq0/agent.1518
SSH_AGENT_PID: 1519
/home/runner/.cargo/bin/rustup show
Default host: x86_64-unknown-linux-gnu
rustup home:  /home/runner/.rustup

stable-x86_64-unknown-linux-gnu (default)
rustc 1.64.0 (a55dd71d5 2022-09-19)
/home/runner/.cargo/bin/rustup -V
rustup 1.25.1 (bb60b1e89 2022-07-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.64.0 (a55dd71d5 2022-09-19)`
Installed rustup 1.25.1 support profiles
/home/runner/.cargo/bin/rustup -V
rustup 1.25.1 (bb60b1e89 2022-07-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.64.0 (a55dd71d5 2022-09-19)`
Installed rustup 1.25.1 support components
/home/runner/.cargo/bin/rustup set profile minimal
info: profile set to 'minimal'
/home/runner/.cargo/bin/rustup toolchain install 1.65 --component rustfmt --component clippy
info: syncing channel updates for '1.65-x86_64-unknown-linux-gnu'
info: latest update on 2022-11-03, rust version 1.65.0 (897e37553 2022-11-02)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'

1.65-x86_64-unknown-linux-gnu installed - rustc 1.65.0 (897e37553 2022-11-02)

info: checking for self-updates
warning: tool `rustfmt` is already installed, remove it from `/home/runner/.cargo/bin`, then run `rustup update` to have rustup manage this tool.
warning: tool `cargo-fmt` is already installed, remove it from `/home/runner/.cargo/bin`, then run `rustup update` to have rustup manage this tool.
Gathering installed versions
/home/runner/.cargo/bin/rustc -V
rustc 1.64.0 (a55dd71d5 2022-09-19)
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
/home/runner/.cargo/bin/cargo -V
cargo 1.64.0 (387270bc7 2022-09-16)
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
/home/runner/.cargo/bin/rustup -V
rustup 1.25.1 (bb60b1e89 2022-07-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.64.0 (a55dd71d5 2022-09-19)`
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Why isn't Rust 1.65 installed? Now I get this errors on my CI but it works locally:

``let...else statements are unstable

Set env variables

Do the checklist before filing an issue:

Motivation

Describe your idea, motivation, and how Rust community could benefit from this feature.
To implement compiler environment variables without the using a config.toml file

Workflow example

If applicable, create an example on how this feature will look in the workflow yaml file
  • name: Build for Armv7
    uses: actions-rs/[email protected]
    with:
    command: build
    args: --target armv7-unknown-linux-gnueabihf
    env: |
    OPENSSL: ${{ github.workspace }}/openssl_android #arm
    OPENSSL_DIR: ${{ github.workspace }}/openssl_android

Additional context

Add any additional information about this feature; that includes links to the related tools, alternative implementations, blog posts and so on

Warning with rustfmt and cargo-fmt

Description

When running, we get a warning for rustfmt and cargo-fmt.

Workflow code

- name: Build amd64
  uses: actions-rs/cargo@v1
  with:
    command: build
    use-cross: true
    args: --release --target x86_64-unknown-linux-musl

Reference yaml:
https://github.com/giggio/speedtest/blob/4ab093da7cebc6c0e7430bb4aba761e92c81df3b/.github/workflows/image.yml#L40-L45

Action output

warning: tool `rustfmt` is already installed, remove it from `/home/runner/.cargo/bin`, then run `rustup update` to have rustup manage this tool.
Warning: warning: tool `cargo-fmt` is already installed, remove it from `/home/runner/.cargo/bin`, then run `rustup update` to have rustup manage this tool.

See the warning on the action:
https://github.com/giggio/speedtest/runs/6816591384?check_suite_focus=true#step:8:13

Expected behavior

No warnings.

Additional context

Happens for ARM and amd64, they are both on the build output and yaml.

Node.js 12 actions are deprecated. Please use Node.js 16

Do the checklist before filing an issue:

Description

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions-rs/cargo, actions-rs/cargo, actions-rs/cargo, actions-rs/cargo, actions-rs/cargo, actions-rs/cargoShow less


## Workflow code
Paste that part of your workflow yaml file that causes the bug in here.

Alternatively you can remove that code block and insert direct link to your workflow file.
Ensure that link points to the specific commit, and not just to the master branch.

Action output

Copy and paste Action output logs in here.

How else can you help on that step:
1. Enable debug logs first: https://github.com/actions/toolkit/blob/master/docs/action-debugging.md
2. Re-run the job
2. Download logs archive for job run and attach it to this issue

Expected behavior

A clear and concise description of what you expected to happen.

Additional context

Add any other context about the problem here.

Automatically install toolchain from `rust-toolchain.toml`

Do the checklist before filing an issue:

Motivation

Cargo now offers the rust-toolchain.toml file which allows a project to specify what toolchain details it needs. Currently, actions-rs requires you to set up two actions:

  • actions-rs/toolchain@v1 - install the toolchain things you need
  • actions-rs/cargo@v1 - run cargo (i.e. build)

Instead, the actions-rs/cargo@v1 action could detect if no toolchain was manually specified in the actions yml. If not, it should read rust-toolchain.toml and install all the required stuff automatically.

Workflow example

rust-toolchain.toml:

[toolchain]
channel = "nightly-2021-09-30"
targets = ["x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl"]
profile = "minimal"

.github/workflows/test.yml:

on: [push]

name: CI

jobs:
  build_and_test:
    name: Rust project
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/cargo@v1
        with:
          command: build
          args: --release --all-features

Notice the lack of any reference to actions-rs/toolchain@v1. Instead, actions-rs/cargo@v1 will install everything required as specified in the rust-toolchain.toml file.

Additional context

https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file

Cross build fails when trying to parse manifest at Cargo.toml

Description

I am trying to build my project for arm-unknown-linux-gnueabihf using a slight modified version of the cross example that's provided in the README.md. The Build fails when trying to parse a manifest in the Cargo.toml.

Workflow code

This is the workflow file.

Action output

Log from my run:

Downloaded hyper v0.10.16
error: failed to parse manifest at `/cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.10.16/Cargo.toml`
##[error]failed to parse manifest at `/cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.10.16/Cargo.toml`
Caused by:
readme file with name 'README.md' was not found
##[error]The process 'cross' failed with exit code 101

In another run the same error occurs with a different crate: ##[error]failed to parse manifest at /cargo/registry/src/github.com-1ecc6299db9ec823/time-macros-impl-0.1.1/Cargo.toml

Expected behavior

I tried building my project locally with cross for the same target without this happening.

Add resulting directory path as an Action output

It is usually PITA to determine the path where build artifacts were placed, because resulting path might vary based on the debug/release profile and compilation target name, ex:

  • target/debug/
  • target/release/
  • target/x86_64-pc-windows-gnu/release/

and so on.
Since it is often used to continue CI process, it would be great to add this path into the Action outputs.
Note: it is not the same as OUT_DIR env var provided for build.rs scripts, but it might be worth to export it too.

The sysroot manager that lets you build and customize std

Do the checklist before filing an issue:

Motivation

Some have strict limits on rust binary size, such as AWS Lambdas.

https://crates.io/crates/xargo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.