Notes
2024
Docker
Getting the express-colyseus-discord
build operation on the portainer will be the goal for today!
This includes having an endpoint for the portainer communication, which would include the deployment of any changes via github actions.
We need to keep track of the X, Y, Z and maybe a couple other variables in a 3D space?
The next variable that I will be adding is the action
, which is a string for now!
This is just extending the TPlayerOptions
with action
and then defining the action as a type string.
LCAgents
We want to move the changes for LC Agents outside of the ci-alpha
and towards the ci-main
, so that we can keep the changes in order!
After moving it towards the main branch, we can extend out the iOS and Android build process for Expo, now we need to make sure that the current flow will work.
We might also want to automate the pull requests that it makes on the LC Agents repo as well, hmm.
Here is the pipeline that we are migrating with this push:
expo-lcagents-web-build:
needs: ['alter']
name: Expo LC Agents We Build
runs-on: ubuntu-latest
if: needs.alter.outputs.expolcagents == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: 18
- name: Setup PNPM
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Install react-native-cli globally
run: pnpm add -g react-native-cli
- name: Install dependencies
run: pnpm install
- name: Setup Watchman (if applicable)
run: |
sudo apt-get update
sudo apt-get install -y watchman
watchman --version
- name: NX Command
shell: bash
continue-on-error: true
run: |
pnpm nx run expo-lcagents:export --verbose
- name: NX Command - 2
shell: bash
continue-on-error: true
run: |
pnpm nx run expo-lcagents:export --verbose
- name: LCA Expo Build
uses: ./.github/actions/kbve-shell
with:
flag: '-nx expo-lcagents:export'
create_pull_request: false
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Create .nojekyll file
run: |
mkdir -p dist/apps/expo-lcagents/
touch dist/apps/expo-lcagents/.nojekyll
- name: Create CNAME file
run: |
mkdir -p dist/apps/expo-lcagents/
echo "lc-agents.com" > dist/apps/expo-lcagents/CNAME
- name: LC Agents -> Deployment
uses: dobbelina/copy_file_to_another_repo_action@main
env:
API_TOKEN_GITHUB: ${{ secrets.UNITY_PAT }}
with:
source_file: 'dist/apps/expo-lcagents/'
destination_repo: 'kbve/lc-agents.com'
destination_folder: '/docs'
destination_branch: 'main'
destination_branch_create: 'patch-kbve-lcagents-deploy'
user_email: '[email protected]'
user_name: 'h0lybyte'
commit_message: ${{ github.event.head_commit.message }}
rsync_option: "-avrh --delete"
Pipeline
Under the beta
branch, we can extend out integration testing, something that I can plan around this month.
We will start with the kbve.com
repo , which will just build the site, making sure that it runs?
The other idea would be to deploy the beta
of the website to beta.kbve.com
, as an additional metric, but that might be something we can look into within the future.
We will be using the any_changed
to calculate any of the files that are changed.
LC Agents
Here is the older code block for the LC Agents Expo application.
import { registerRootComponent } from 'expo';
import { ExpoRoot } from 'expo-router';
import 'expo-router/entry';
import BaseApp from './src/app/_layout';
// The ExpoRoot component requires a React element, not a component class or function directly.
// Therefore, we create a simple wrapper component that returns BaseApp.
function AppWrapper() {
return <BaseApp />;
}
// Pass the wrapper component to ExpoRoot.
// ExpoRoot will take care of rendering your application within the Expo environment,
// ensuring that routing and other setup is handled correctly.
//registerRootComponent();
//ExpoRoot(<AppWrapper />);
// 03-27-2024 Changes
export function App() {
const ctx = require.context('./src/app');
return <ExpoRoot context={ctx} />;
}
registerRootComponent(App);
// Create a new component that renders ExpoRoot with AppWrapper.
// This component will be the entry point of your application.
// function RootComponent() {
// return ExpoRoot(<AppWrapper />);
// }
// registerRootComponent(RootComponent);
However there are a couple errors that are appearing in the source code, including this one:
You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it.
So there might be an issue with how we are doing the root / application rendering.