X Tutup
Skip to content

Commit 59892ea

Browse files
committed
Use custom mono install action
1 parent 56e3127 commit 59892ea

File tree

2 files changed

+82
-10
lines changed

2 files changed

+82
-10
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: 'Install Mono'
2+
description: 'Install Mono'
3+
branding:
4+
icon: package
5+
color: blue
6+
inputs:
7+
arch:
8+
description: Architecture to install for
9+
required: true
10+
runs:
11+
using: "composite"
12+
steps:
13+
# Windows Cache
14+
- name: Cache setup on Windows
15+
if: runner.os == 'Windows'
16+
run: |
17+
mkdir -p .choco-cache
18+
choco config set cacheLocation $(pwd)/.choco-cache
19+
shell: bash
20+
21+
- name: Cache on Windows
22+
if: runner.os == 'Windows'
23+
uses: actions/cache@v5
24+
with:
25+
path: .choco-cache
26+
key: mono-${{ runner.os }}-${{ inputs.arch }}
27+
28+
# macOS Cache
29+
- name: Set Homebrew Cache Path
30+
if: runner.os == 'macOS'
31+
run: |
32+
mkdir -p .brew-cache
33+
echo "HOMEBREW_CACHE=$(pwd)/.brew-cache" >> $GITHUB_ENV
34+
shell: bash
35+
36+
- name: Cache Homebrew on macOS
37+
if: runner.os == 'macOS'
38+
uses: actions/cache@v5
39+
with:
40+
path: .brew-cache
41+
key: mono-brew-${{ runner.os }}-${{ inputs.arch }}
42+
43+
# ===================================
44+
45+
- name: Install on Linux
46+
if: runner.os == 'Linux'
47+
uses: awalsh128/cache-apt-pkgs-action@v1
48+
with:
49+
packages: mono-runtime-sgen
50+
51+
# ===================================
52+
53+
- name: Install on Windows (x86)
54+
if: runner.os == 'Windows' && inputs.arch == 'x86'
55+
run: choco install --x86 -y mono
56+
shell: sh
57+
58+
- name: Install on Windows
59+
if: runner.os == 'Windows' && inputs.arch != 'x86'
60+
run: choco install -y mono
61+
shell: sh
62+
63+
# ===================================
64+
#
65+
- name: Install on macOS (x86_64)
66+
if: runner.os == 'macOS' && inputs.arch == 'x64'
67+
run: |
68+
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
69+
arch -x86_64 /usr/local/bin/brew install --ignore-dependencies mono
70+
shell: sh
71+
72+
- name: Install on macOS (arm64)
73+
if: runner.os == 'macOS' && inputs.arch != 'x64'
74+
run: |
75+
brew update
76+
brew install --ignore-dependencies mono
77+
shell: sh
78+

.github/workflows/main.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,12 @@ jobs:
5656
- name: Checkout code
5757
uses: actions/checkout@v6
5858

59+
# Use main until support for architecture lands
5960
- name: Setup .NET
60-
uses: actions/setup-dotnet@v5
61+
uses: actions/setup-dotnet@main
6162
with:
62-
dotnet-version: '10.0.x'
63-
64-
- name: Setup upterm session
65-
uses: owenthereal/action-upterm@v1
66-
if: ${{ matrix.os.category == 'macos' }}
67-
with:
68-
## Shut down the server if unconnected after 5 minutes.
69-
limit-access-to-actor: true
70-
wait-timeout-minutes: 15
63+
dotnet-version: '10.0'
64+
architecture: ${{ matrix.os.platform }}
7165

7266
- name: Install Mono
7367
uses: ./.github/actions/install-mono

0 commit comments

Comments
 (0)
X Tutup