Skip to content

Commit 504e190

Browse files
authored
Pesde for package management (#13)
1 parent 5c73f23 commit 504e190

File tree

15 files changed

+144
-39
lines changed

15 files changed

+144
-39
lines changed

.github/workflows/ci.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ jobs:
1717
token: ${{ secrets.GITHUB_TOKEN }}
1818
allow-external-github-orgs: true
1919

20+
- uses: lumin-org/[email protected]
21+
2022
- name: Install dependencies
21-
run: lune run install
23+
run: pesde install
2224

2325
- name: Run unit tests
2426
run: lune run test
@@ -33,8 +35,10 @@ jobs:
3335
token: ${{ secrets.GITHUB_TOKEN }}
3436
allow-external-github-orgs: true
3537

38+
- uses: lumin-org/[email protected]
39+
3640
- name: Install dependencies
37-
run: lune run install
41+
run: pesde install
3842

3943
- name: Lint
4044
run: lune run lint
@@ -49,8 +53,10 @@ jobs:
4953
- name: Install tools
5054
run: rokit install --no-trust-check
5155

56+
- uses: lumin-org/[email protected]
57+
5258
- name: Install dependencies
53-
run: lune run install
59+
run: pesde install
5460

5561
- name: Setup Lune typedefs
5662
run: lune setup

.github/workflows/release.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Release
2+
3+
on:
4+
pull_request:
5+
release:
6+
types: [published]
7+
push:
8+
branches:
9+
- main
10+
11+
jobs:
12+
publish-package:
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 10
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: Roblox/setup-foreman@v3
19+
with:
20+
token: ${{ secrets.GITHUB_TOKEN }}
21+
allow-external-github-orgs: true
22+
23+
- uses: lumin-org/[email protected]
24+
25+
- name: Install dependencies
26+
run: pesde install
27+
28+
- name: Login to Pesde registry
29+
run: pesde auth login --token ${{ secrets.PESDE_PUBLISH_TOKEN }}
30+
31+
- name: Publishing dry-run
32+
if: github.event.release == null
33+
run: pesde publish --dry-run
34+
35+
# The dry-run command returns an exit code of 0 even on failures so this
36+
# step will manually fail the job if the dry-run failed to output the
37+
# package archive
38+
- name: Verify dry-run artifact
39+
if: github.event.release == null
40+
run: find package.tar.gz
41+
42+
- name: Publish to Pesde registry
43+
if: github.event.release
44+
run: pesde publish

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
temp
2-
pkg
2+
3+
# Pesde
4+
lune_packages
35

46
# Roblox
57
*.rbxm*

.luaurc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"languageMode": "strict",
33
"aliases": {
44
"root": "src",
5-
"pkg": "pkg",
5+
"pkg": "lune_packages",
66
"lune": "~/.lune/.typedefs/0.9.3"
77
}
88
}

.lune/analyze.luau

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ local foldersToAnalyze = {
66
"examples",
77
}
88

9-
run("luau-lsp", { "analyze", "--ignore=**/pkg/**", table.unpack(foldersToAnalyze) })
9+
run("luau-lsp", { "analyze", "--ignore=**/lune_packages/**", table.unpack(foldersToAnalyze) })

.lune/install.luau

Lines changed: 0 additions & 25 deletions
This file was deleted.

.lune/test.luau

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
local process = require("@lune/process")
22

3-
local console_reporter = require("@pkg/frktest/src/reporters/console_reporter")
4-
local frktest = require("@pkg/frktest/src/frktest")
3+
local frktest = require("@pkg/frktest")
4+
55
local logging = require("@root/logging")
66
local run = require("@root/lib/run")
77

8+
local reporter = frktest._reporters.lune_console_reporter
9+
810
local function loadTestCases()
911
local output = run("find", { "src", "-iname", "*.spec.luau" })
1012
output = output:gsub("src/", "@root/")
@@ -20,7 +22,7 @@ end
2022

2123
loadTestCases()
2224

23-
console_reporter.init()
25+
reporter.init()
2426
local success = frktest.run()
2527

2628
process.exit(if success then 0 else 1)

LICENSE

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Copyright (c) 2025 Marin Minnerly
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of
4+
this software and associated documentation files (the "Software"), to deal in
5+
the Software without restriction, including without limitation the rights to
6+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7+
the Software, and to permit persons to whom the Software is furnished to do so,
8+
subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in all
11+
copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

foreman.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
[tools]
22
luau-lsp = { source = "JohnnyMorganz/luau-lsp", version = "=1.45.0" }
3-
lune = { source = "lune-org/lune", version = "=0.9.3" }
43
rojo = { source = "rojo-rbx/rojo", version = "=7.5.0" }
54
selene = { source = "kampfkarren/selene", version = "=0.28.0" }
65
stylua = { source = "johnnymorganz/stylua", version = "=2.1.0" }

pesde.lock

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# This file is automatically @generated by pesde.
2+
# It is not intended for manual editing.
3+
format = 2
4+
name = "ghostnaps/rbxasset"
5+
version = "0.1.0"
6+
target = "lune"
7+
8+
[graph."corecii/[email protected] lune".pkg_ref]
9+
ref_ty = "pesde"
10+
index_url = "https://github.com/daimond113/pesde-index"
11+
12+
[graph."corecii/[email protected] lune"]
13+
direct = ["t", { name = "corecii/greentea_t_standalone", version = "^0.4.11", index = "default" }, "standard"]
14+
15+
[graph."corecii/[email protected] lune".dependencies]
16+
GreenTea = ["corecii/[email protected] lune", "standard"]
17+
18+
[graph."corecii/[email protected] lune".pkg_ref]
19+
ref_ty = "pesde"
20+
index_url = "https://github.com/pesde-pkg/index"
21+
22+
[graph."corecii/[email protected] lune".pkg_ref.dependencies]
23+
GreenTea = [{ name = "corecii/greentea", version = "=0.4.11", index = "https://github.com/daimond113/pesde-index" }, "standard"]
24+
25+
[graph."itsfrank/[email protected] lune"]
26+
direct = ["frktest", { name = "itsfrank/frktest", version = "^0.0.2", index = "default" }, "standard"]
27+
28+
[graph."itsfrank/[email protected] lune".pkg_ref]
29+
ref_ty = "pesde"
30+
index_url = "https://github.com/pesde-pkg/index"

0 commit comments

Comments
 (0)