Skip to content

Commit b29100f

Browse files
authored
Merge pull request #13 from kurone-kito/cumulative-updates
Cumulative updates
2 parents 9a60129 + 2f2cd1e commit b29100f

File tree

13 files changed

+273
-119
lines changed

13 files changed

+273
-119
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,5 @@ updates:
44
labels:
55
- dependencies
66
package-ecosystem: github-actions
7-
reviewers:
8-
- kurone-kito
9-
assignees:
10-
- kurone-kito
117
schedule:
128
interval: monthly

.github/workflows/build-listing.yml

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,34 +32,23 @@ concurrency:
3232
group: pages
3333

3434
jobs:
35-
build-listing:
35+
build:
36+
uses: ./.github/workflows/build-website.yml
37+
with:
38+
listPublishDirectory: Website
39+
pathToCi: ci
40+
41+
deploy:
42+
needs: build
3643
environment:
3744
name: github-pages
3845
url: ${{ steps.deployment.outputs.page_url }}
39-
name: build-listing
4046
runs-on: ubuntu-latest
4147
steps:
42-
- name: Checkout Local Repository
43-
uses: actions/checkout@v4
44-
- name: Checkout Automation Repository without removing prior checkouts
45-
uses: actions/checkout@v4
46-
with:
47-
clean: false
48-
path: ${{ env.pathToCi }}
49-
repository: vrchat-community/package-list-action
50-
- name: Deploy the global.json file
51-
run: cp "${{ github.workspace }}/global.json" "${{ env.pathToCi }}/"
52-
- name: Load cached data from previous runs
53-
uses: actions/cache@v4
48+
- name: Download listing artifact
49+
uses: actions/download-artifact@v4
5450
with:
55-
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
56-
path: |
57-
${{ env.pathToCi }}/.nuke/temp
58-
~/.nuget/packages
59-
- env:
60-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61-
name: Build Package Version Listing with Nuke
62-
run: '"${{ env.pathToCi }}/build.cmd" BuildRepoListing --root "${{ env.pathToCi }}" --list-publish-directory "$GITHUB_WORKSPACE/${{ env.listPublishDirectory }}" --current-package-name "${{ vars.PACKAGE_NAME }}"'
51+
name: listing-site
6352
- name: Prepare for GitHub Pages deployment
6453
uses: actions/configure-pages@v5
6554
with:
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Build the website
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
listPublishDirectory:
7+
required: true
8+
type: string
9+
pathToCi:
10+
required: true
11+
type: string
12+
zipFile:
13+
required: false
14+
type: string
15+
default: ''
16+
unityPackage:
17+
required: false
18+
type: string
19+
default: ''
20+
permissions:
21+
actions: write
22+
contents: read
23+
jobs:
24+
build:
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout Local Repository
28+
uses: actions/checkout@v4
29+
- name: Download package archive
30+
if: inputs.zipFile != ''
31+
uses: actions/download-artifact@v4
32+
with:
33+
name: ${{ inputs.zipFile }}
34+
- name: Download UnityPackage
35+
if: inputs.unityPackage != ''
36+
uses: actions/download-artifact@v4
37+
with:
38+
name: ${{ inputs.unityPackage }}
39+
- name: Checkout Automation Repository without removing prior checkouts
40+
uses: actions/checkout@v4
41+
with:
42+
clean: false
43+
path: ${{ inputs.pathToCi }}
44+
repository: vrchat-community/package-list-action
45+
- name: Deploy the global.json file
46+
run: cp "${{ github.workspace }}/global.json" "${{ inputs.pathToCi }}/"
47+
- name: Load cached data from previous runs
48+
uses: actions/cache@v4
49+
with:
50+
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
51+
path: |
52+
${{ inputs.pathToCi }}/.nuke/temp
53+
~/.nuget/packages
54+
- env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
name: Build Package Version Listing with Nuke
57+
run: '"${{ inputs.pathToCi }}/build.cmd" BuildRepoListing --root "${{ inputs.pathToCi }}" --list-publish-directory "$GITHUB_WORKSPACE/${{ inputs.listPublishDirectory }}" --current-package-name "${{ vars.PACKAGE_NAME }}"'
58+
- name: Upload listing artifact
59+
uses: actions/upload-artifact@v4
60+
with:
61+
name: listing-site
62+
path: ${{ inputs.listPublishDirectory }}
63+
retention-days: 1
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Build Package Artifacts
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
packagePath:
7+
required: true
8+
type: string
9+
unityPackage:
10+
required: true
11+
type: string
12+
zipFile:
13+
required: true
14+
type: string
15+
permissions:
16+
actions: write
17+
contents: read
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Zip the Package
24+
run: zip -r -9 "${{ github.workspace }}/${{ inputs.zipFile }}" .
25+
working-directory: "${{ inputs.packagePath }}"
26+
- name: Build a list of .meta files for future use
27+
run: find "${{ inputs.packagePath }}/" -name '*.meta' -type f >> metaList
28+
- name: Make a UnityPackage version of the Package
29+
uses: pCYSl5EDgo/[email protected]
30+
with:
31+
include-files: metaList
32+
package-path: ${{ inputs.unityPackage }}
33+
- name: Upload package archive
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: ${{ inputs.zipFile }}
37+
path: ${{ inputs.zipFile }}
38+
retention-days: 1
39+
- name: Upload UnityPackage
40+
uses: actions/upload-artifact@v4
41+
with:
42+
name: ${{ inputs.unityPackage }}
43+
path: ${{ inputs.unityPackage }}
44+
retention-days: 1

.github/workflows/push.yml

Lines changed: 19 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,45 +5,28 @@ on:
55
- '*'
66
- '!main'
77
permissions:
8+
actions: write
89
contents: read
910
jobs:
11+
lint:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- name: Run cspell
16+
uses: streetsidesoftware/cspell-action@v7
17+
- name: Run markdownlint
18+
uses: DavidAnson/markdownlint-cli2-action@v20
19+
package:
20+
uses: ./.github/workflows/package-build.yml
21+
with:
22+
packagePath: Packages/${{ vars.PACKAGE_NAME }}
23+
unityPackage: ${{ vars.PACKAGE_NAME }}-feature.unitypackage
24+
zipFile: ${{ vars.PACKAGE_NAME }}-feature.zip
1025
build:
11-
env:
26+
needs: package
27+
uses: ./.github/workflows/build-website.yml
28+
with:
1229
listPublishDirectory: Website
13-
packagePath: Packages/${{ vars.PACKAGE_NAME }}
1430
pathToCi: ci
15-
unityPackage: ${{ vars.PACKAGE_NAME }}-feature.unitypackage
1631
zipFile: ${{ vars.PACKAGE_NAME }}-feature.zip
17-
runs-on: ubuntu-latest
18-
steps:
19-
- name: Checkout Local Repository
20-
uses: actions/checkout@v4
21-
- name: Zip the Package for testing
22-
run: zip -r "${{ github.workspace }}/${{ env.zipFile }}" .
23-
working-directory: "${{ env.packagePath }}"
24-
- name: Build a list of .meta files for future use
25-
run: find "${{ env.packagePath }}/" -name '*.meta' -type f >> metaList
26-
- name: Make a UnityPackage version of the Package for release
27-
uses: pCYSl5EDgo/create-unitypackage@v1
28-
with:
29-
include-files: metaList
30-
package-path: ${{ env.unityPackage }}
31-
- name: Checkout Automation Repository without removing prior checkouts
32-
uses: actions/checkout@v4
33-
with:
34-
clean: false
35-
path: ${{ env.pathToCi }}
36-
repository: vrchat-community/package-list-action
37-
- name: Deploy the global.json file
38-
run: cp "${{ github.workspace }}/global.json" "${{ env.pathToCi }}/"
39-
- name: Load cached data from previous runs
40-
uses: actions/cache@v4
41-
with:
42-
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
43-
path: |
44-
${{ env.pathToCi }}/.nuke/temp
45-
~/.nuget/packages
46-
- env:
47-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48-
name: Build Package Version Listing with Nuke
49-
run: '"${{ env.pathToCi }}/build.cmd" BuildRepoListing --root "${{ env.pathToCi }}" --list-publish-directory "$GITHUB_WORKSPACE/${{ env.listPublishDirectory }}" --current-package-name "${{ vars.PACKAGE_NAME }}"'
32+
unityPackage: ${{ vars.PACKAGE_NAME }}-feature.unitypackage

.github/workflows/release.yml

Lines changed: 66 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ name: Build Release
22

33
on:
44
workflow_dispatch:
5-
5+
permissions:
6+
actions: write
7+
contents: write
68
jobs:
79
config:
810
outputs:
@@ -18,37 +20,23 @@ jobs:
1820
echo "configPackage=false" >> $GITHUB_OUTPUT;
1921
fi
2022
21-
build:
22-
env:
23-
packagePath: Packages/${{ vars.PACKAGE_NAME }}
24-
stableVersion: ''
25-
unityPackage: ''
26-
version: ''
27-
zipFile: ''
23+
prepare:
2824
if: needs.config.outputs.config_package == 'true'
2925
needs: config
30-
permissions:
31-
contents: write
26+
outputs:
27+
stableVersion: ${{ steps.resolve.outputs.stableVersion }}
28+
unityPackage: ${{ steps.resolve.outputs.unityPackage }}
29+
version: ${{ steps.resolve.outputs.version }}
30+
zipFile: ${{ steps.resolve.outputs.zipFile }}
3231
runs-on: ubuntu-latest
3332
steps:
34-
- id: gpg
35-
name: Import the GPG key
36-
# cspell: disable-next-line
37-
uses: crazy-max/ghaction-import-gpg@v6
38-
with:
39-
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
40-
passphrase: ${{ secrets.GPG_PASSPHRASE }}
41-
trust_level: 5
42-
- name: Checkout Local Repository
43-
uses: actions/checkout@v4
44-
- name: copy the README and LICENSE files to the Package folder
45-
run: cp README.md LICENSE "${{ env.packagePath }}"
33+
- uses: actions/checkout@v4
4634
- id: version
4735
name: Get the Package version based on the package.json file
4836
# cspell: disable-next-line
4937
uses: sergeysova/jq-action@v2
5038
with:
51-
cmd: jq -r ".version" "${{ env.packagePath }}/package.json"
39+
cmd: jq -r ".version" "Packages/${{ vars.PACKAGE_NAME }}/package.json"
5240
- id: stable-match
5341
name: Detect whether the version is a stable release
5442
# cspell: disable-next-line
@@ -57,31 +45,66 @@ jobs:
5745
flags: gm
5846
regex: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
5947
text: ${{ steps.version.outputs.value }}
60-
- name: Configure the Environment Variables needed for releasing the Package
48+
- id: resolve
49+
name: Resolve build environment values
6150
run: |
62-
echo "stableVersion=${{ steps.stable-match.outputs.match }}" >> $GITHUB_ENV
63-
echo "unityPackage=${{ vars.PACKAGE_NAME }}-${{ steps.version.outputs.value }}.unitypackage" >> $GITHUB_ENV
64-
echo "version=${{ steps.version.outputs.value }}" >> $GITHUB_ENV
65-
echo "zipFile=${{ vars.PACKAGE_NAME }}-${{ steps.version.outputs.value }}.zip" >> $GITHUB_ENV
66-
- name: Zip the Package for release
67-
run: zip -r -9 "${{ github.workspace }}/${{ env.zipFile }}" .
68-
working-directory: "${{ env.packagePath }}"
69-
- name: Build a list of .meta files for future use
70-
run: find "${{ env.packagePath }}/" -name '*.meta' -type f >> metaList
71-
- name: Make a UnityPackage version of the Package for release
72-
uses: pCYSl5EDgo/create-unitypackage@v1
51+
echo "stableVersion=${{ steps.stable-match.outputs.match }}" >> $GITHUB_OUTPUT
52+
echo "unityPackage=${{ vars.PACKAGE_NAME }}-${{ steps.version.outputs.value }}.unitypackage" >> $GITHUB_OUTPUT
53+
echo "version=${{ steps.version.outputs.value }}" >> $GITHUB_OUTPUT
54+
echo "zipFile=${{ vars.PACKAGE_NAME }}-${{ steps.version.outputs.value }}.zip" >> $GITHUB_OUTPUT
55+
56+
package:
57+
if: needs.config.outputs.config_package == 'true'
58+
needs:
59+
- config
60+
- prepare
61+
uses: ./.github/workflows/package-build.yml
62+
with:
63+
packagePath: Packages/${{ vars.PACKAGE_NAME }}
64+
unityPackage: ${{ needs.prepare.outputs.unityPackage }}
65+
zipFile: ${{ needs.prepare.outputs.zipFile }}
66+
67+
build:
68+
env:
69+
packagePath: Packages/${{ vars.PACKAGE_NAME }}
70+
stableVersion: ${{ needs.prepare.outputs.stableVersion }}
71+
unityPackage: ${{ needs.prepare.outputs.unityPackage }}
72+
version: ${{ needs.prepare.outputs.version }}
73+
zipFile: ${{ needs.prepare.outputs.zipFile }}
74+
if: needs.config.outputs.config_package == 'true'
75+
needs:
76+
- config
77+
- prepare
78+
- package
79+
runs-on: ubuntu-latest
80+
steps:
81+
- id: gpg
82+
name: Import the GPG key
83+
# cspell: disable-next-line
84+
uses: crazy-max/ghaction-import-gpg@v6
85+
with:
86+
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
87+
passphrase: ${{ secrets.GPG_PASSPHRASE }}
88+
trust_level: 5
89+
- name: Checkout Local Repository
90+
uses: actions/checkout@v4
91+
- name: Download package archive
92+
uses: actions/download-artifact@v4
93+
with:
94+
name: ${{ env.zipFile }}
95+
- name: Download UnityPackage
96+
uses: actions/download-artifact@v4
7397
with:
74-
include-files: metaList
75-
package-path: ${{ env.unityPackage }}
98+
name: ${{ env.unityPackage }}
99+
- name: copy the README and LICENSE files to the Package folder
100+
run: cp README.md LICENSE "${{ env.packagePath }}"
76101
- name: Zip the UnityPackage for release
77102
run: zip -r -9 "${{ env.unityPackage }}.zip" "${{ env.unityPackage }}" LICENSE README.md
78-
- env:
79-
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
80-
name: Sign the artifacts
103+
- name: Sign the artifacts
81104
run: |
82-
echo "${GPG_PASSPHRASE}" | gpg --batch -ab "${{ env.zipFile }}"
83-
echo "${GPG_PASSPHRASE}" | gpg --batch -ab "${{ env.unityPackage }}"
84-
echo "${GPG_PASSPHRASE}" | gpg --batch -ab "${{ env.unityPackage }}.zip"
105+
gpg --batch --pinentry-mode loopback --passphrase "${{ secrets.GPG_PASSPHRASE }}" -ab "${{ env.zipFile }}"
106+
gpg --batch --pinentry-mode loopback --passphrase "${{ secrets.GPG_PASSPHRASE }}" -ab "${{ env.unityPackage }}"
107+
gpg --batch --pinentry-mode loopback --passphrase "${{ secrets.GPG_PASSPHRASE }}" -ab "${{ env.unityPackage }}.zip"
85108
- id: tag_version
86109
name: Create a release tag of the version from the package.json file
87110
# cspell: disable-next-line

.tool-versions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
dotnet 8.0.410
1+
dotnet 8.0.411

AGENTS.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Contributor Guide
2+
3+
## Hints of develop environment
4+
5+
- The `Website` folder will be rebuilt using SolidJS in the future.
6+
Keep editing to a minimum.
7+
- The following folders are imported external assets and shouldn't be edited.
8+
- `Assets`
9+
- `Packages/com.vrchat.*`
10+
- The `*.cs` file may be UdonSharp. Please keep in mind the limitations of
11+
UdonSharp 1.0 when editing.
12+
- The test code in UdonSharp does not support Unity's Edit Mode; it only
13+
supports Play Mode. Consider this when implementing the test code.

0 commit comments

Comments
 (0)