actions(ci/cd): Add release and sync workflows
This commit is contained in:
parent
6a08d8d7f4
commit
ccd4990154
7 changed files with 433 additions and 120 deletions
25
.forgejo/workflows/release.yml
Normal file
25
.forgejo/workflows/release.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: Release
|
||||||
|
runs-on: docker
|
||||||
|
container:
|
||||||
|
image: ghcr.io/catthehacker/ubuntu:act-22.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Rokit
|
||||||
|
uses: https://github.com/CompeyDev/setup-rokit@v0.1.2
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.githubtoken }}
|
||||||
|
|
||||||
|
- name: Authorize
|
||||||
|
run: pesde auth login --token "${{ secrets.pesde_auth_token }}"
|
||||||
|
|
||||||
|
- name: Publish
|
||||||
|
run: pesde publish -y
|
42
.forgejo/workflows/sync.yml
Normal file
42
.forgejo/workflows/sync.yml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
name: Sync
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: "10 0 * * *" # Runs at 00:10 UTC every day
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: Release
|
||||||
|
runs-on: docker
|
||||||
|
container:
|
||||||
|
image: ghcr.io/catthehacker/ubuntu:act-22.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Rokit
|
||||||
|
uses: https://github.com/CompeyDev/setup-rokit@v0.1.2
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.githubtoken }}
|
||||||
|
|
||||||
|
- name: Pull Newest Jecs
|
||||||
|
run: lune run pull.luau
|
||||||
|
|
||||||
|
- name: Read Jecs Version
|
||||||
|
id: read_jecs_version
|
||||||
|
run: |
|
||||||
|
version=$(lune run read_version | tr '\n' ' ')
|
||||||
|
echo "JECS_VERSION=$version" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: https://github.com/peter-evans/create-pull-request@v7
|
||||||
|
with:
|
||||||
|
title: Sync to upstream Jecs ${{ steps.read_jecs_version.outputs.JECS_VERSION }}
|
||||||
|
body: |
|
||||||
|
Sync to upstream Jecs ${{ steps.read_jecs_version.outputs.JECS_VERSION }}
|
||||||
|
- This pull request is **auto-generated**
|
||||||
|
branch: auto/update-jecs
|
||||||
|
commit-message: Sync to upstream Jecs ${{ steps.read_jecs_version.outputs.JECS_VERSION }}
|
||||||
|
base: main
|
||||||
|
token: ${{ secrets.privileged_forgejo_token }}
|
|
@ -1,5 +1,4 @@
|
||||||
--!strict
|
--!strict
|
||||||
local task = require("@lune/task")
|
|
||||||
local process = require("@lune/process")
|
local process = require("@lune/process")
|
||||||
local fs = require("@lune/fs")
|
local fs = require("@lune/fs")
|
||||||
local net = require("@lune/net")
|
local net = require("@lune/net")
|
||||||
|
@ -22,6 +21,77 @@ type wally_manifest = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type environment = "luau" | "lune" | "roblox" | "roblox_server"
|
||||||
|
type pesde_dependency = {
|
||||||
|
name: string,
|
||||||
|
version: string,
|
||||||
|
index: string?,
|
||||||
|
target: environment?,
|
||||||
|
} | {
|
||||||
|
wally: string,
|
||||||
|
version: string,
|
||||||
|
index: string?,
|
||||||
|
} | {
|
||||||
|
repo: string,
|
||||||
|
rev: string,
|
||||||
|
path: string?,
|
||||||
|
}
|
||||||
|
|
||||||
|
type pesde_manifest = {
|
||||||
|
name: string,
|
||||||
|
version: string,
|
||||||
|
description: string?,
|
||||||
|
license: string?,
|
||||||
|
authors: { string }?,
|
||||||
|
repository: string?,
|
||||||
|
private: boolean?,
|
||||||
|
includes: { string }?,
|
||||||
|
pesde_version: string?,
|
||||||
|
workspace_members: { string }?,
|
||||||
|
|
||||||
|
target: {
|
||||||
|
environment: environment,
|
||||||
|
lib: string,
|
||||||
|
bin: string?,
|
||||||
|
build_files: { string }?,
|
||||||
|
},
|
||||||
|
|
||||||
|
scripts: {
|
||||||
|
roblox_sync_config_generator: string?,
|
||||||
|
sourcemap_generator: string?,
|
||||||
|
|
||||||
|
[string]: string,
|
||||||
|
}?,
|
||||||
|
|
||||||
|
indices: {
|
||||||
|
default: string,
|
||||||
|
|
||||||
|
[string]: string,
|
||||||
|
},
|
||||||
|
wally_indices: {
|
||||||
|
default: string,
|
||||||
|
|
||||||
|
[string]: string,
|
||||||
|
}?,
|
||||||
|
|
||||||
|
overrides: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
patches: {
|
||||||
|
[string]: { [string]: string },
|
||||||
|
}?,
|
||||||
|
|
||||||
|
dependencies: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
peer_dependencies: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
dev_dependencies: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
}
|
||||||
|
|
||||||
print("🟧 Fetching github token...")
|
print("🟧 Fetching github token...")
|
||||||
local github_token: string = process.args[1]
|
local github_token: string = process.args[1]
|
||||||
|
|
||||||
|
@ -103,11 +173,44 @@ download_list({
|
||||||
{ path = "README.md", output = "README.md" },
|
{ path = "README.md", output = "README.md" },
|
||||||
})
|
})
|
||||||
|
|
||||||
print("🟧 Writing pesde manifest...")
|
print(`🟧 Modifying README.md to include repo info...`)
|
||||||
local pesde_manifest =
|
local readme_contents = fs.readFile("README.md")
|
||||||
`name = "marked/jecs_pesde"\ndescription = "A minimal copy of jecs intended for adding as a Luau git dependency on pesde projects"\nversion = "{jecs_version}"\nrepository = "https://git.devmarked.win/marked/jecs-pesde"\n\nincludes = ["init.luau", "pesde.toml", "README.md", "LICENSE", ".luaurc"]\n\n[target]\nenvironment = "luau"\nlib = "init.luau"\n\n[indices]\ndefault = "https://github.com/daimond113/pesde-index"`
|
local new_readme_contents = [[
|
||||||
|
An unofficial pesde package for [jecs](https://github.com/ukendio/jecs).
|
||||||
|
|
||||||
fs.writeFile("pesde.toml", pesde_manifest)
|
|
||||||
|
]] .. readme_contents
|
||||||
|
fs.writeFile("README.md", new_readme_contents)
|
||||||
|
print(`✅ Modified README.md.`)
|
||||||
|
|
||||||
|
local pesde_manifest: pesde_manifest = {
|
||||||
|
name = "mark_marks/jecs_pesde",
|
||||||
|
description = "A minimal copy of jecs published on the official pesde registry",
|
||||||
|
version = jecs_version,
|
||||||
|
authors = { "jecs authors" },
|
||||||
|
repository = "https://git.devmarked.win/marked/jecs-pesde",
|
||||||
|
license = "MIT",
|
||||||
|
includes = {
|
||||||
|
"init.luau",
|
||||||
|
"pesde.toml",
|
||||||
|
"README.md",
|
||||||
|
"LICENSE",
|
||||||
|
".luaurc",
|
||||||
|
},
|
||||||
|
|
||||||
|
target = {
|
||||||
|
environment = "luau",
|
||||||
|
lib = "init.luau",
|
||||||
|
},
|
||||||
|
|
||||||
|
indices = {
|
||||||
|
default = "https://github.com/daimond113/pesde-index",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
print("🟧 Writing pesde manifest...")
|
||||||
|
local serialized_manifest = serde.encode("toml", pesde_manifest, true)
|
||||||
|
fs.writeFile("pesde.toml", serialized_manifest)
|
||||||
print("✅ Wrote pesde manifest.")
|
print("✅ Wrote pesde manifest.")
|
||||||
|
|
||||||
print("-- ✅ Finished pulling latest release.")
|
print("-- ✅ Finished pulling latest release.")
|
80
.lune/read_version.luau
Normal file
80
.lune/read_version.luau
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
--!strict
|
||||||
|
local fs = require("@lune/fs")
|
||||||
|
local serde = require("@lune/serde")
|
||||||
|
|
||||||
|
type environment = "luau" | "lune" | "roblox" | "roblox_server"
|
||||||
|
type pesde_dependency = {
|
||||||
|
name: string,
|
||||||
|
version: string,
|
||||||
|
index: string?,
|
||||||
|
target: environment?,
|
||||||
|
} | {
|
||||||
|
wally: string,
|
||||||
|
version: string,
|
||||||
|
index: string?,
|
||||||
|
} | {
|
||||||
|
repo: string,
|
||||||
|
rev: string,
|
||||||
|
path: string?,
|
||||||
|
}
|
||||||
|
|
||||||
|
type pesde_manifest = {
|
||||||
|
name: string,
|
||||||
|
version: string,
|
||||||
|
description: string?,
|
||||||
|
license: string?,
|
||||||
|
authors: { string }?,
|
||||||
|
repository: string?,
|
||||||
|
private: boolean?,
|
||||||
|
includes: { string }?,
|
||||||
|
pesde_version: string?,
|
||||||
|
workspace_members: { string }?,
|
||||||
|
|
||||||
|
target: {
|
||||||
|
environment: environment,
|
||||||
|
lib: string,
|
||||||
|
bin: string?,
|
||||||
|
build_files: { string }?,
|
||||||
|
},
|
||||||
|
|
||||||
|
scripts: {
|
||||||
|
roblox_sync_config_generator: string?,
|
||||||
|
sourcemap_generator: string?,
|
||||||
|
|
||||||
|
[string]: string,
|
||||||
|
}?,
|
||||||
|
|
||||||
|
indices: {
|
||||||
|
default: string,
|
||||||
|
|
||||||
|
[string]: string,
|
||||||
|
},
|
||||||
|
wally_indices: {
|
||||||
|
default: string,
|
||||||
|
|
||||||
|
[string]: string,
|
||||||
|
}?,
|
||||||
|
|
||||||
|
overrides: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
patches: {
|
||||||
|
[string]: { [string]: string },
|
||||||
|
}?,
|
||||||
|
|
||||||
|
dependencies: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
peer_dependencies: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
dev_dependencies: {
|
||||||
|
[string]: pesde_dependency,
|
||||||
|
}?,
|
||||||
|
}
|
||||||
|
|
||||||
|
local manifest_contents = fs.readFile("pesde.toml")
|
||||||
|
local manifest: pesde_manifest = serde.decode("toml", manifest_contents) or error("Couldn't decode manifest.")
|
||||||
|
local jecs_version = manifest.version
|
||||||
|
|
||||||
|
print(jecs_version)
|
53
.zed/settings.json
Normal file
53
.zed/settings.json
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
"lsp": {
|
||||||
|
"luau-lsp": {
|
||||||
|
"settings": {
|
||||||
|
"luau-lsp": {
|
||||||
|
"completion": {
|
||||||
|
"imports": {
|
||||||
|
"enabled": true,
|
||||||
|
"separateGroupsWithLine": true,
|
||||||
|
"suggestServices": true,
|
||||||
|
"suggestRequires": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"mode": "relativeToFile",
|
||||||
|
"directoryAliases": {
|
||||||
|
"@lune/": "~/.lune/.typedefs/0.8.9/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inlayHints": {
|
||||||
|
"parameterNames": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ext": {
|
||||||
|
"roblox": {
|
||||||
|
"enabled": false,
|
||||||
|
"security_level": "roblox_script"
|
||||||
|
},
|
||||||
|
"fflags": {
|
||||||
|
"enable_by_default": false,
|
||||||
|
"sync": true
|
||||||
|
},
|
||||||
|
"binary": {
|
||||||
|
"ignore_system_version": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"languages": {
|
||||||
|
"Luau": {
|
||||||
|
"formatter": {
|
||||||
|
"external": {
|
||||||
|
"command": "stylua",
|
||||||
|
"arguments": ["-"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"file_types": {
|
||||||
|
"Luau": ["lua"]
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +1,6 @@
|
||||||
|
An unofficial pesde package for [jecs](https://github.com/ukendio/jecs).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="jecs_darkmode.svg#gh-dark-mode-only" width=50%/>
|
<img src="jecs_darkmode.svg#gh-dark-mode-only" width=50%/>
|
||||||
|
|
21
pesde.toml
21
pesde.toml
|
@ -1,13 +1,20 @@
|
||||||
name = "marked/jecs_pesde"
|
authors = ["jecs authors"]
|
||||||
description = "A minimal copy of jecs intended for adding as a Luau git dependency on pesde projects"
|
description = "A minimal copy of jecs published on the official pesde registry"
|
||||||
version = "0.3.2"
|
includes = [
|
||||||
|
"init.luau",
|
||||||
|
"pesde.toml",
|
||||||
|
"README.md",
|
||||||
|
"LICENSE",
|
||||||
|
".luaurc",
|
||||||
|
]
|
||||||
|
license = "MIT"
|
||||||
|
name = "mark_marks/jecs_pesde"
|
||||||
repository = "https://git.devmarked.win/marked/jecs-pesde"
|
repository = "https://git.devmarked.win/marked/jecs-pesde"
|
||||||
|
version = "0.3.2"
|
||||||
|
|
||||||
includes = ["init.luau", "pesde.toml", "README.md", "LICENSE", ".luaurc"]
|
[indices]
|
||||||
|
default = "https://github.com/daimond113/pesde-index"
|
||||||
|
|
||||||
[target]
|
[target]
|
||||||
environment = "luau"
|
environment = "luau"
|
||||||
lib = "init.luau"
|
lib = "init.luau"
|
||||||
|
|
||||||
[indices]
|
|
||||||
default = "https://github.com/daimond113/pesde-index"
|
|
Loading…
Reference in a new issue