Skip to content

Commit

Permalink
[Chore] UPM embedded structure
Browse files Browse the repository at this point in the history
  • Loading branch information
mfdeveloper committed Sep 20, 2023
1 parent 49a398e commit e4ff954
Show file tree
Hide file tree
Showing 178 changed files with 4,387 additions and 1,597 deletions.
72 changes: 72 additions & 0 deletions .github/scripts/functions.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#!/bin/bash

# USAGE: packageVersion "[PATH]/package.json"
packageVersion() {
local PACKAGE_JSON_FILE=$1
VERSION=""
while read a b ; do
[ "$a" = '"version":' ] && { b="${b%\"*}" ; VERSION="${b#\"}" ; break ; }
done < $PACKAGE_JSON_FILE
echo $VERSION
}

githubActionsOutputs() {
CURRENT_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
COMMIT_MESSAGE=$(git log -1 --pretty=%B)
echo ::set-output name=tag::$CURRENT_TAG
echo ::set-output name=commit_message::$COMMIT_MESSAGE
}

copyPackagesContent() {
shopt -s extglob dotglob
cp -rvf "Packages/$PKG_NAME/." ./
rm -rf ./Packages
}

commitAndPush() {
# Incrementing LAST_RELEASE_TAG+1.
# Keep here just to store the history, and if need this to the future/others repositories
#
# PS: Keep in mind that not always you would like to increment the git tag version (e.g rewriting with force an existent git tag)
# [[ "$LAST_RELEASE_TAG" =~ (.*[^0-9])([0-9]+)$ ]] && LAST_RELEASE_TAG="${BASH_REMATCH[1]}$((${BASH_REMATCH[2]} + 1))";

RELEASE_VERSION=$(packageVersion "./package.json")

echo "New version: $RELEASE_VERSION"

if [[ -d "Samples" ]]; then
mv Samples Samples~
rm -f Samples.meta
fi
if [[ -d "Documentation" ]]; then
mv Documentation Documentation~
rm -f Documentation.meta
fi
git config --global user.name 'github-bot'
git config --global user.email '[email protected]'
git add .
git commit --allow-empty -am "$COMMIT_MESSAGE"

echo $RELEASE_VERSION > VERSION.md~
git add VERSION.md~
git commit -am "fix: Samples => Samples~ and commit a new version: $RELEASE_VERSION"
git push -f -u origin "$PKG_BRANCH"
}

run() {
if [ $1 == "push" ]
then
commitAndPush
elif [ $1 == "movePackagesFolder" ]
then
copyPackagesContent
elif [ $1 == "githubActionsVariables" ]
then
githubActionsOutputs
else
echo "[ERROR] INVALID SCRIPT OPERATION"
exit 1
fi
}

run $1
62 changes: 32 additions & 30 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,40 @@ name: Unity Package CI
on:
push:
branches:
- upm-android-haptics
- upm-package-embedded
repository_dispatch:
types: [on-demand-test]
env:
PKG_ROOT: ./
PKG_BRANCH: upm
PKG_NAME: com.benoitfreslon.vibration
jobs:
split-upm:
name: Split upm branch (force)
name: Create upm package branch (force)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Split package folder to upm branch
run: |
if [ "$PKG_ROOT" == "./" ]
then
git checkout -b upm
else
git subtree split -P "$PKG_ROOT" -b upm
fi
- name: Create samples~ folder
run: |
git checkout upm
if [[ -d "Samples" ]]; then
git mv Samples Samples~
rm -f Samples.meta
git config --global user.name 'github-bot'
git config --global user.email '[email protected]'
git commit -am "fix: Samples => Samples~"
fi
- name: Push changes to upm branch
uses: ad-m/github-push-action@master
with:
force: true
branch: upm
github_token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set output git tag and commit message
id: vars
run: ./.github/scripts/functions.sh githubActionsVariables
- name: Check output git variables
env:
LAST_RELEASE_TAG: ${{ steps.vars.outputs.tag }}
COMMIT_MESSAGE: ${{ steps.vars.outputs.commit_message }}
run: |
echo $LAST_RELEASE_TAG
echo $COMMIT_MESSAGE
- name: Checkout orphan [${{ env.PKG_BRANCH }}] branch
run: |
git checkout --orphan "$PKG_BRANCH"
shopt -s extglob dotglob
rm -rf !(Packages|.github|.git|.|..)
ls -la ./
- name: Move ./Packages content to root
run: ./.github/scripts/functions.sh movePackagesFolder
- name: Create samples~ and ~documentation folders
run: ./.github/scripts/functions.sh push
env:
LAST_RELEASE_TAG: ${{ steps.vars.outputs.tag }}
COMMIT_MESSAGE: ${{ steps.vars.outputs.commit_message }}
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
Expand All @@ -14,8 +14,8 @@
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta
# Recordings can get excessive in size
/[Rr]ecordings/

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
Expand Down Expand Up @@ -59,6 +59,7 @@ sysinfo.txt
*.apk
*.aab
*.unitypackage
*.app

# Crashlytics generated file
crashlytics-build.properties
Expand Down
1 change: 0 additions & 1 deletion MobileProjects~/Android/.idea/.name

This file was deleted.

122 changes: 0 additions & 122 deletions MobileProjects~/Android/.idea/codeStyles/Project.xml

This file was deleted.

5 changes: 0 additions & 5 deletions MobileProjects~/Android/.idea/codeStyles/codeStyleConfig.xml

This file was deleted.

30 changes: 0 additions & 30 deletions MobileProjects~/Android/.idea/jarRepositories.xml

This file was deleted.

9 changes: 0 additions & 9 deletions MobileProjects~/Android/.idea/misc.xml

This file was deleted.

Loading

0 comments on commit e4ff954

Please sign in to comment.