Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:

jobs:
checks:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v2
Expand All @@ -33,7 +33,7 @@ jobs:
timeout-minutes: 20
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
os: [windows-latest, ubuntu-22.04]
rust_version: [stable, "1.66.0"]

runs-on: ${{ matrix.os }}
Expand All @@ -50,7 +50,7 @@ jobs:
run: cargo test --locked --verbose

end-to-end-tests-ubuntu:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -82,7 +82,7 @@ jobs:
./scripts/end-to-end-tests.sh

kill-process-test-unix:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build
steps:
- uses: actions/checkout@v2
Expand Down
53 changes: 40 additions & 13 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
run: cargo build --verbose --locked --release

- name: Upload artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: foreman-win64
path: target/release/foreman.exe
Expand All @@ -43,7 +43,7 @@ jobs:
cargo build --verbose --locked --release --target x86_64-apple-darwin

- name: Upload Intel (x86_64) artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: foreman-macos-x86_64
path: target/x86_64-apple-darwin/release/foreman
Expand Down Expand Up @@ -74,13 +74,13 @@ jobs:
cargo build --verbose --locked --release --target aarch64-apple-darwin

- name: Upload arm64 artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: foreman-macos-arm64
path: target/aarch64-apple-darwin/release/foreman

linux:
runs-on: ubuntu-latest
linux-x86_64:
runs-on: ubuntu-22.04
Copy link
Member Author

@Nicell Nicell May 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

switching to 22.04 to avoid glibc issues with 24.04 builds

timeout-minutes: 15

steps:
Expand All @@ -90,26 +90,43 @@ jobs:
run: cargo build --locked --verbose --release

- name: Upload artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: foreman-linux
name: foreman-linux-x86_64
path: target/release/foreman

linux-arm64:
runs-on: ubuntu-22.04-arm
timeout-minutes: 15

steps:
- uses: actions/checkout@v1

- name: Build arm64 release binary
run: cargo build --locked --verbose --release

- name: Upload arm64 artifacts
uses: actions/upload-artifact@v4
with:
name: foreman-linux-arm64
path: target/release/foreman

release:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
timeout-minutes: 15
needs: ["windows", "macos-x86-64", "macos-arm64", "linux"]
needs: ["windows", "macos-x86-64", "macos-arm64", "linux-x86_64", "linux-arm64"]
steps:
- uses: actions/checkout@v1
- name: Download artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
path: artifacts
- run: |
zip -rj foreman-win64.zip ./artifacts/foreman-win64/*
zip -rj foreman-macos-x86_64.zip ./artifacts/foreman-macos-x86_64/*
zip -rj foreman-macos-arm64.zip ./artifacts/foreman-macos-arm64/*
zip -rj foreman-linux.zip ./artifacts/foreman-linux/*
zip -rj foreman-linux-x86_64.zip ./artifacts/foreman-linux-x86_64/*
zip -rj foreman-linux-arm64.zip ./artifacts/foreman-linux-arm64/*
- name: Create release
id: create_release
uses: actions/create-release@v1
Expand Down Expand Up @@ -156,6 +173,16 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./foreman-linux.zip
asset_name: foreman-linux.zip
asset_path: ./foreman-linux-x86_64.zip
asset_name: foreman-linux-x86_64.zip
asset_content_type: application/zip

- name: Upload linux build (arm64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./foreman-linux-arm64.zip
asset_name: foreman-linux-arm64.zip
asset_content_type: application/zip
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ default-members = [".", "artiaa_auth"]
[package]
name = "foreman"
description = "Toolchain manager for simple binary tools"
version = "1.6.3"
version = "1.6.4"
authors = [
"Lucien Greathouse <me@lpghatguy.com>",
"Matt Hargett <plaztiksyke@gmail.com>",
Expand Down
2 changes: 1 addition & 1 deletion tests/snapshots/help_command.snap
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ source: tests/cli.rs
assertion_line: 100
expression: content
---
foreman 1.6.3
foreman 1.6.4

USAGE:
foreman [FLAGS] <SUBCOMMAND>
Expand Down
6 changes: 3 additions & 3 deletions tests/snapshots/install_all_tools_before_failing.snap
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@ expression: content
Request from `https://api.github.com/repos/Roblox/NotARepository/releases`

Received body:
{"message":"Not Found","documentation_url":"https://docs.github.com/rest/releases/releases#list-releases"}
{"message":"Not Found","documentation_url":"https://docs.github.com/rest/releases/releases#list-releases","status":"404"}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

github apparently adds a status now

[INFO ] Downloading github.com/Roblox/@^0.2.0
[ERROR] The following error occurred while trying to download tool "badly-formatted-tool":
unexpected response body: invalid type: map, expected a sequence at line 1 column 0
Request from `https://api.github.com/repos/Roblox//releases`

Received body:
{"message":"Not Found","documentation_url":"https://docs.github.com/rest"}
{"message":"Not Found","documentation_url":"https://docs.github.com/rest","status":"404"}
[INFO ] Downloading github.com/Roblox/VeryFakeRepository@^0.1.0
[ERROR] The following error occurred while trying to download tool "not-a-real-tool":
unexpected response body: invalid type: map, expected a sequence at line 1 column 0
Request from `https://api.github.com/repos/Roblox/VeryFakeRepository/releases`

Received body:
{"message":"Not Found","documentation_url":"https://docs.github.com/rest/releases/releases#list-releases"}
{"message":"Not Found","documentation_url":"https://docs.github.com/rest/releases/releases#list-releases","status":"404"}
The following tools were not installed:
[
"also-not-a-real-tool",
Expand Down
Loading