Skip to content

Commit d62d260

Browse files
authored
Smoketests for plugin deployments (#503)
# Problem I broke deployments again and this will absolutely repeat itself, so it's time to add in some guardrails # Solution I created a new Flipbook Smoketest asset on the creator store and got it setup with our release process. Now each PR will run through the deployment process to give us some extra certainty that our workflows are still operating correctly Closes #502
1 parent dea1ae6 commit d62d260

File tree

4 files changed

+39
-2
lines changed

4 files changed

+39
-2
lines changed

.github/workflows/release.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,26 @@ jobs:
9292

9393
- name: Publish nightly build to Creator Store
9494
run: lune run publish-plugin --channel dev --apiKey ${{ secrets.ROBLOX_API_KEY }}
95+
96+
publish-smoketest-plugin:
97+
runs-on: ubuntu-latest
98+
timeout-minutes: 5
99+
environment:
100+
name: roblox-creator-store-smoketest
101+
env:
102+
LOG_LEVEL: debug
103+
steps:
104+
- uses: actions/checkout@v4
105+
106+
- uses: CompeyDev/setup-rokit@v0.1.2
107+
with:
108+
version: v1.1.1
109+
110+
- name: Install dependencies
111+
run: lute scripts/install.luau
112+
113+
- name: Create .env
114+
run: cp .env.template .env
115+
116+
- name: Publish release to Creator Store
117+
run: lune run publish-plugin --smoketest --channel prod --apiKey ${{ secrets.ROBLOX_API_KEY }}

.lune/publish-plugin.luau

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ assert(channel == "dev" or channel == "prod", `bad value for channel (must be on
1515
local apiKey = assert(args.apiKey, "--apiKey must be supplied with a valid Open Cloud API key")
1616
assert(typeof(apiKey) == "string", `bad value for apiKey (string expected, got {typeof(apiKey)})`)
1717

18-
run("lute", { "scripts/build.luau", "--channel", channel, "--plugin", "--output", "Flipbook.rbxm" })
18+
run("lute", { "scripts/build.luau", "plugin", "--channel", channel, "--output", "Flipbook.rbxm" })
19+
20+
local assetName = if args.smoketest then "smoketest" else channel
1921

2022
-- Each of the assets defined in rbxasset.toml map to one of the options of
2123
-- `--channel` for simplicity
22-
rbxasset.publishPackageAsync(process.cwd, channel, apiKey)
24+
rbxasset.publishPackageAsync(process.cwd, assetName, apiKey)

rbxasset.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@ assetId = "88523969718241"
44
[assets.prod]
55
assetId = "8517129161"
66

7+
[assets.smoketest]
8+
assetId = "93737943158055"
9+
710
[images]

rbxasset.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ model = "Flipbook.rbxm"
1414
environment = "prod"
1515
type = "Plugin"
1616

17+
[assets.smoketest]
18+
name = "Flipbook"
19+
description = """This is a development version of Flipbook for testing out unreleased changes.
20+
21+
View the latest release of Flipbook here: https://create.roblox.com/store/asset/8517129161/flipbook"""
22+
model = "Flipbook.rbxm"
23+
environment = "prod"
24+
type = "Plugin"
25+
1726
[environments.prod]
1827
creatorId = 1343930
1928
creatorType = "User"

0 commit comments

Comments
 (0)