-
-
Notifications
You must be signed in to change notification settings - Fork 45
166 lines (157 loc) · 6.94 KB
/
tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
name: test
on: [ push, pull_request ]
jobs:
raku:
strategy:
fail-fast: false
matrix:
os: [ macos-latest, windows-latest, ubuntu-latest ]
raku-version: [ latest ]
runs-on: ${{ matrix.os }}
env:
RAKUDO_LOG_PRECOMP: 1
RAKUDO_MODULE_DEBUG: 1
RAKUDO_PRECOMPILATION_PROGRESS: 1
RAKUDO_OPT: --ll-exception
# Workaround for path length errors during precompilation of longer repo names
TMPDIR: /tmp
steps:
- uses: actions/checkout@v4
- uses: Raku/setup-raku@v1
with:
raku-version: ${{ matrix.raku-version }}
- name: Ensure TMPDIR exists
run: mkdir -p ${{ env.TMPDIR }}
- name: Remove non-core modules included in this github action
run: raku -e 'my $site = CompUnit::RepositoryRegistry.repository-for-name(q|site|); $site.uninstall($_) for $site.installed'
- name: Force precompilation order
run: |
raku -e 'say "Zef::Distribution::DependencySpecification"';
raku -I. -e 'use Zef::Distribution::DependencySpecification;'
raku -e 'say "Zef::Service::Shell::DistributionBuilder"';
raku -I. -e 'use Zef::Service::Shell::DistributionBuilder;'
raku -e 'say "Zef::Service::InstallRakuDistribution"';
raku -I. -e 'use Zef::Service::InstallRakuDistribution;'
raku -e 'say "Zef::Service::Shell::LegacyBuild"';
raku -I. -e 'use Zef::Service::Shell::LegacyBuild;'
raku -e 'say "Zef::Repository::LocalCache"';
raku -I. -e 'use Zef::Repository::LocalCache;'
raku -e 'say "Zef::Repository::Ecosystems"';
raku -I. -e 'use Zef::Repository::Ecosystems;'
raku -e 'say "Zef::Service::Shell::unzip"';
raku -I. -e 'use Zef::Service::Shell::unzip;'
raku -e 'say "Zef::Service::FileReporter"';
raku -I. -e 'use Zef::Service::FileReporter;'
raku -e 'say "Zef::Service::Shell::wget"';
raku -I. -e 'use Zef::Service::Shell::wget;'
raku -e 'say "Zef::Service::Shell::Test"';
raku -I. -e 'use Zef::Service::Shell::Test;'
raku -e 'say "Zef::Service::Shell::curl"';
raku -I. -e 'use Zef::Service::Shell::curl;'
raku -e 'say "Zef::Service::Shell::git"';
raku -I. -e 'use Zef::Service::Shell::git;'
raku -e 'say "Zef::Service::Shell::tar"';
raku -I. -e 'use Zef::Service::Shell::tar;'
raku -e 'say "Zef::Distribution::Local"';
raku -I. -e 'use Zef::Distribution::Local;'
raku -e 'say "Zef::Utils::SystemQuery"';
raku -I. -e 'use Zef::Utils::SystemQuery;'
raku -e 'say "Zef::Service::FetchPath"';
raku -I. -e 'use Zef::Service::FetchPath;'
raku -e 'say "Zef::Utils::FileSystem"';
raku -I. -e 'use Zef::Utils::FileSystem;'
raku -e 'say "Zef::Distribution"';
raku -I. -e 'use Zef::Distribution;'
raku -e 'say "Zef::Service::TAP"';
raku -I. -e 'use Zef::Service::TAP;'
raku -e 'say "Zef::Utils::URI"';
raku -I. -e 'use Zef::Utils::URI;'
raku -e 'say "Zef::Repository"';
raku -I. -e 'use Zef::Repository;'
raku -e 'say "Zef::Identity"';
raku -I. -e 'use Zef::Identity;'
raku -e 'say "Zef::Extract"';
raku -I. -e 'use Zef::Extract;'
raku -e 'say "Zef::Install"';
raku -I. -e 'use Zef::Install;'
raku -e 'say "Zef::Report"';
raku -I. -e 'use Zef::Report;'
raku -e 'say "Zef::Client"';
raku -I. -e 'use Zef::Client;'
raku -e 'say "Zef::Config"';
raku -I. -e 'use Zef::Config;'
raku -e 'say "Zef::Fetch"';
raku -I. -e 'use Zef::Fetch;'
raku -e 'say "Zef::Build"';
raku -I. -e 'use Zef::Build;'
raku -e 'say "Zef::Test"';
raku -I. -e 'use Zef::Test;'
raku -e 'say "Zef::CLI"';
raku -I. -e 'use Zef::CLI;'
raku -e 'say "Zef"';
raku -I. -e 'use Zef;'
if: runner.os == 'Windows'
# run xt/ tests
- name: Run xt/ tests - repository.rakutest
run: raku --ll-exception -I. xt/repository.rakutest
- name: Run xt/ tests - install.rakutest
run: raku --ll-exception -I. xt/install.rakutest
if: runner.os != 'Windows'
# run integration tests pre-install
- name: Test (and show for debugging purposes) --version
run: raku -I. bin/zef --version
- name: Run relative local path test + install
run: raku -I. bin/zef --debug install .
- name: Test uninstall
run: raku -I. bin/zef uninstall zef
- name: Run absolute local path test + install
run: raku -I. bin/zef install ${{ github.workspace }}
# run integration tests post-install
- name: Test 'update'
run: zef update --debug
- name: Test --version
run: zef --version
- name: Test --help
run: zef --help
- name: Test 'locate' with short-name
run: zef locate Zef::CLI
- name: Test 'locate' with path name
run: zef locate lib/Zef/CLI.rakumod
- name: Test 'browse'
run: zef browse zef bugtracker --/open
- name: Test 'info'
run: zef info zef
- name: Test 'search'
run: zef --debug search Base64
- name: Test 'rdepends'
run: zef --debug rdepends Base64
- name: Test 'depends'
run: zef --debug depends Cro::SSL
- name: Test 'fetch'
run: zef --debug fetch Base64
- name: Test installing from what 'fetch' put in ::LocalCache
run: zef --debug --/fez --/cpan --/p6c --/rea install Base64
- name: Test 'list'
run: zef --debug --max=10 list
- name: Test 'list --installed'
run: zef --debug --installed list
- name: Test reinstallation via 'install --force-install'
run: zef --debug --force-install install Base64
- name: Test installing .tar.gz
run: zef --debug install https://github.com/ugexe/Raku-PathTools/archive/0434191c56e0f3254ab1d756d90f9191577de5a0.tar.gz
- name: Test 'upgrade' on previously installed PathTools .tar.gz
run: zef --debug upgrade PathTools
- name: Test installing .zip
run: zef --debug install https://github.com/ugexe/Raku-Text--Table--Simple/archive/v0.0.3.zip
- name: Test remote git repo + tag
run: zef --debug install https://github.com/ugexe/[email protected]
- name: Test self contained installation
run: |
zef install Distribution::Common --/test
zef install Distribution::Common::Remote -to=inst#foo --contained --/test
zef uninstall Distribution::Common
raku -I inst#foo -M Distribution::Common::Remote::Github -e ""
- name: Test 'nuke' on config paths
run: zef --/confirm nuke TempDir StoreDir
- name: Test single repository update ('cached' should be 0 after previous nuke)
run: zef update cached --debug