Skip to content

Commit

Permalink
Setup project
Browse files Browse the repository at this point in the history
  • Loading branch information
jeparlefrancais committed Dec 21, 2023
1 parent 0a80c8d commit af94085
Show file tree
Hide file tree
Showing 32 changed files with 985 additions and 2 deletions.
29 changes: 29 additions & 0 deletions .darklua-dev.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"process": [
{
"rule": "inject_global_value",
"identifier": "__DEV__",
"value": true
},
{
"rule": "convert_require",
"current": {
"name": "path",
"sources": {
"@pkg": "node_modules/.luau-aliases"
}
},
"target": {
"name": "roblox",
"rojo_sourcemap": "./sourcemap.json",
"indexing_style": "wait_for_child"
}
},
"compute_expression",
"remove_unused_if_branch",
"remove_unused_while",
"filter_after_early_return",
"remove_nil_declaration",
"remove_empty_do"
]
}
24 changes: 24 additions & 0 deletions .darklua-wally.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"process": [
{
"rule": "convert_require",
"current": {
"name": "path",
"sources": {
"@pkg": "."
}
},
"target": {
"name": "roblox",
"indexing_style": "wait_for_child",
"rojo_sourcemap": "./sourcemap.json"
}
},
"compute_expression",
"remove_unused_if_branch",
"remove_unused_while",
"filter_after_early_return",
"remove_nil_declaration",
"remove_empty_do"
]
}
29 changes: 29 additions & 0 deletions .darklua.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"process": [
{
"rule": "inject_global_value",
"identifier": "__DEV__",
"value": false
},
{
"rule": "convert_require",
"current": {
"name": "path",
"sources": {
"@pkg": "node_modules/.luau-aliases"
}
},
"target": {
"name": "roblox",
"rojo_sourcemap": "./sourcemap.json",
"indexing_style": "wait_for_child"
}
},
"compute_expression",
"remove_unused_if_branch",
"remove_unused_while",
"filter_after_early_return",
"remove_nil_declaration",
"remove_empty_do"
]
}
212 changes: 212 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
name: Release

on:
workflow_dispatch:
inputs:
release_tag:
description: "The version to release starting with `v`"
required: true
type: string

release_ref:
description: "The branch, tag or SHA to checkout (default to latest)"
default: ""
type: string

permissions:
contents: write

jobs:
publish-package:
name: Publish package
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v3
with:
node-version: "latest"
cache: "yarn"
cache-dependency-path: "yarn.lock"

- name: Update yarn
run: yarn set version stable

- name: Install packages
run: yarn install --immutable

- name: Run npmluau
run: yarn run prepare

- name: Authenticate yarn
run: |
yarn config set npmAlwaysAuth true
yarn config set npmScopes.jsdotlua.npmAuthToken $NPM_AUTH_TOKEN
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- run: yarn workspaces foreach --all --no-private npm publish --access public

publish-wally-package:
needs: publish-package

name: Publish wally package
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: Roblox/setup-foreman@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-node@v3
with:
node-version: "latest"
cache: "yarn"
cache-dependency-path: "yarn.lock"

- name: Update yarn
run: yarn set version stable

- name: Install packages
run: yarn install --immutable

- name: Run npmluau
run: yarn run prepare

- name: Build assets
run: yarn run build-assets

- name: Login to wally
run: wally login --project-path build/wally/shared --token ${{ secrets.WALLY_ACCESS_TOKEN }}

- name: Publish shared to wally
run: wally publish --project-path build/wally/shared

- name: Publish scheduler to wally
run: wally publish --project-path build/wally/scheduler

- name: Publish react-is to wally
run: wally publish --project-path build/wally/react-is

- name: Publish react to wally
run: wally publish --project-path build/wally/react

- name: Publish react-cache to wally
run: wally publish --project-path build/wally/react-cache

- name: Publish react-reconciler to wally
run: wally publish --project-path build/wally/react-reconciler

- name: Publish react-roblox to wally
run: wally publish --project-path build/wally/react-roblox

- name: Publish react-test-renderer to wally
run: wally publish --project-path build/wally/react-test-renderer

- name: Publish react-shallow-renderer to wally
run: wally publish --project-path build/wally/react-shallow-renderer

- name: Publish roact-compat to wally
run: wally publish --project-path build/wally/roact-compat

- name: Publish react-devtools-shared to wally
run: wally publish --project-path build/wally/react-devtools-shared

- name: Publish react-debug-tools to wally
run: wally publish --project-path build/wally/react-debug-tools

- name: Publish react-devtools-extensions to wally
run: wally publish --project-path build/wally/react-devtools-extensions


create-release:
needs: publish-package

name: Create release
runs-on: ubuntu-latest

outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}

steps:
- uses: actions/checkout@v4

- name: Create tag
run: |
git fetch --tags --no-recurse-submodules
if [ ! $(git tag -l ${{ inputs.release_tag }}) ]; then
git tag ${{ inputs.release_tag }}
git push origin ${{ inputs.release_tag }}
fi
- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ inputs.release_tag }}
name: ${{ inputs.release_tag }}
draft: false

build-assets:
needs: create-release

name: Add assets
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- artifact-name: react-lua.rbxm
path: build/react-lua.rbxm
asset-type: application/octet-stream

- artifact-name: react-lua-dev.rbxm
path: build/debug/react-lua.rbxm
asset-type: application/octet-stream

steps:
- uses: actions/checkout@v4

- uses: Roblox/setup-foreman@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-node@v3
with:
node-version: "latest"
cache: "yarn"
cache-dependency-path: "yarn.lock"

- name: Update yarn
run: yarn set version stable

- name: Install packages
run: yarn install --immutable

- name: Run npmluau
run: yarn run prepare

- name: Build assets
run: yarn run build-assets

- name: Upload asset
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.artifact-name }}
path: ${{ matrix.path }}

- name: Add asset to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ${{ matrix.path }}
asset_name: ${{ matrix.artifact-name }}
asset_content_type: ${{ matrix.asset-type }}
45 changes: 45 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Tests

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
test:
name: Run tests
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: Roblox/setup-foreman@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-node@v3
with:
node-version: "latest"
cache: "yarn"
cache-dependency-path: "yarn.lock"

- name: Update yarn
run: yarn set version stable

- name: Install packages
run: yarn install --immutable

- name: Run npmluau
run: yarn run prepare

- name: Run linter
run: yarn run lint

- name: Verify code style
run: yarn run style-check

- name: Build assets
run: yarn run build-assets
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,11 @@ site/

default_modules
modules_*

.yarn
/*.tgz

**/sourcemap.json
**/node_modules
/build
/roblox
33 changes: 33 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/.*
/bin
/Packages
**/.robloxrc
rotriever.toml

/.github/
/.vscode/

/roblox
/build

/*.json
/*.toml
/*.yml
/*.md
/*.tgz

/globalTypes.d.lua
**/sourcemap.json
**/*.project.json

**/__tests__
**/*.test.lua
**/*.spec.lua
**/jest.config.lua

**/*.rbxl
**/*.rbxlx
**/*.rbxl.lock
**/*.rbxlx.lock
**/*.rbxm
**/*.rbxmx
1 change: 1 addition & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodeLinker: node-modules
Loading

0 comments on commit af94085

Please sign in to comment.