Compare commits
44 Commits
deployed/v
...
master
Author | SHA1 | Date |
---|---|---|
giles | fe653240e4 | |
gilesb | e9f787b82b | |
gilesb | 381b1211b6 | |
gilesb | 3f8a784ea0 | |
gilesb | 6a76cd6dc2 | |
gilesb | bf4335c8b8 | |
gilesb | f75a54e273 | |
gilesb | 6f92610c26 | |
gilesb | 9c8429ae68 | |
gilesb | 369b5ffd29 | |
gilesb | e535cb3c62 | |
gilesb | d1a1d14664 | |
gilesb | 47695a0523 | |
gilesb | 7dbab1a28f | |
gilesb | e3199a06ec | |
giles | 79136f6882 | |
gilesb | f35b8f67af | |
gilesb | d3c03369aa | |
gilesb | b21f3838d4 | |
gilesb | b698ad512d | |
giles | 3c15598faa | |
gilesb | 64d8cb6f40 | |
giles | ed41a9707b | |
batch-bot | 6f5c1153df | |
batch-bot | a6a2813005 | |
giles | ae69fb63f5 | |
gilesb | eb83b0e698 | |
batch-bot | b404b9f516 | |
batch-bot | 1bddb0c47c | |
giles | 6e1eaf6f2e | |
gilesb | ccec5b4261 | |
gilesb | 96d6004f26 | |
giles | c66ab8b3fa | |
gilesb | cc68a84653 | |
giles | 88b5632c3b | |
gilesb | 8720e2649e | |
giles | 86837dc244 | |
gilesb | 45a8210eea | |
giles | 8bb49ece67 | |
gilesb | 9ab843044a | |
giles | e3ac1aaa80 | |
gilesb | 19d2937141 | |
giles | f47551c0fe | |
giles | 2439f1c76e |
|
@ -0,0 +1,13 @@
|
||||||
|
name: Changelog
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
|
jobs:
|
||||||
|
changelog:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: "✏️ Generate release changelog"
|
||||||
|
uses: heinrichreimer/action-github-changelog-generator@v2.3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.BOT_TOKEN }}
|
|
@ -6,23 +6,11 @@ on:
|
||||||
- closed
|
- closed
|
||||||
- deleted
|
- deleted
|
||||||
branches:
|
branches:
|
||||||
- 'master'
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
if_merged:
|
|
||||||
if: github.event.pull_request.merged == true
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: delete develop branch
|
|
||||||
id: delete_develop_branch
|
|
||||||
run: git push origin --delete ${{ github.head_ref }}
|
|
||||||
continue-on-error: true
|
|
||||||
- uses: mainmatter/continue-on-error-comment@v1
|
|
||||||
with:
|
|
||||||
repo-token: ${{ secrets.BOT_TOKEN }}
|
|
||||||
outcome: ${{ steps.delete_develop_branch.outcome }}
|
|
||||||
test-id: Error code ${{ matrix.code }}
|
|
||||||
delete-develop:
|
delete-develop:
|
||||||
|
if: ${{ ! startsWith(github.head_ref, 'develop/') }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
|
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
|
||||||
|
@ -42,4 +30,6 @@ jobs:
|
||||||
firstString=${{ github.head_ref }}
|
firstString=${{ github.head_ref }}
|
||||||
secondString="build"
|
secondString="build"
|
||||||
echo ::set-env name=BUILD_BRANCH::${firstString/develop\//"$secondString"\/}s
|
echo ::set-env name=BUILD_BRANCH::${firstString/develop\//"$secondString"\/}s
|
||||||
|
- name: delete build branch
|
||||||
|
run: git push origin --delete ${{ env.BUILD_BRANCH }}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
name: build-develop-branch
|
name: master-pushed
|
||||||
run-name: ${{ github.actor }} is learning GitHub Actions
|
run-name: ${{ github.actor }} is learning GitHub Actions
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
@ -19,6 +19,6 @@ jobs:
|
||||||
token: ${{ secrets.BOT_TOKEN }}
|
token: ${{ secrets.BOT_TOKEN }}
|
||||||
- name: bump release
|
- name: bump release
|
||||||
run: |
|
run: |
|
||||||
../tea r ls -o=simple
|
export version=$(../tea r ls -o=simple | head -n 1 | tr " " "\n" | head -n 1 | awk -F. '{$NF = $NF + 1;} 1' | sed 's/ /./g')
|
||||||
version="$(../tea r ls -o=simple | head -n 1 | tr " " "\n" | head -n 1 | awk -F. '{$NF = $NF + 1;} 1' | sed 's/ /./g')"
|
|
||||||
../tea r c --note="this isrelease ${version}" --tag=${version} --title=${version} --target=${{ github.sha }}
|
../tea r c --note="this isrelease ${version}" --tag=${version} --title=${version} --target=${{ github.sha }}
|
||||||
|
echo ::set-env name=VERSION::$version
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [master]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
prettier:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.BOT_TOKEN }}
|
||||||
|
# Make sure the actual branch is checked out when running on pull requests
|
||||||
|
ref: ${{ github.head_ref }}
|
||||||
|
# This is important to fetch the changes to the previous commit
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Prettify code
|
||||||
|
uses: creyD/prettier_action@v4.3
|
||||||
|
with:
|
||||||
|
# This part is also where you can pass other options, for example:
|
||||||
|
prettier_options: --write **/*.{js,md}
|
||||||
|
only_changed: true
|
|
@ -31,4 +31,4 @@ jobs:
|
||||||
git config --global user.email "username@users.noreply.github.com"
|
git config --global user.email "username@users.noreply.github.com"
|
||||||
git add -A
|
git add -A
|
||||||
git commit -a -m "${{ github.ref_name }} -> refs/heads/deployed/${{ github.ref_name }} "
|
git commit -a -m "${{ github.ref_name }} -> refs/heads/deployed/${{ github.ref_name }} "
|
||||||
git push origin HEAD:refs/heads/deployed/${{ github.ref_name }}
|
git push -f origin HEAD:refs/heads/deployed/${{ github.ref_name }}
|
201
README.md
201
README.md
|
@ -1,101 +1,100 @@
|
||||||
# batch-example
|
# batch-example
|
||||||
|
|
||||||
This repository will store and allow versioning and approval of a batch configuration.
|
This repository will store and allow versioning and approval of a batch configuration.
|
||||||
|
|
||||||
This repository **only** contains exported configuration. It does not contain any binary files (eg equipment-model.cfg nor system state or log files). These are excluded using the **.gitignore** file.
|
This repository **only** contains exported configuration. It does not contain any binary files (eg equipment-model.cfg nor system state or log files). These are excluded using the **.gitignore** file.
|
||||||
|
|
||||||
## change process
|
## change process
|
||||||
|
|
||||||
tea is here (i had to change docker file to just be based on node:latest)
|
tea is here (i had to change docker file to just be based on node:latest)
|
||||||
|
|
||||||
https://gitea.com/gitea/tea/src/branch/main/docs/CLI.md
|
https://gitea.com/gitea/tea/src/branch/main/docs/CLI.md
|
||||||
|
|
||||||
|
|
||||||
On ?tag ? push to master
|
On ?tag ? push to master
|
||||||
clone master
|
clone master
|
||||||
branch deployed
|
branch deployed
|
||||||
yml -> xml
|
yml -> xml
|
||||||
push deployed
|
push deployed
|
||||||
|
|
||||||
|
|
||||||
|
pull to production PC and import
|
||||||
pull to production PC and import
|
|
||||||
|
pull to development, import, modify, export
|
||||||
pull to development, import, modify, export
|
push from development to format branch
|
||||||
push from development to format branch
|
|
||||||
|
on format-branch pull, xml -> yml, push to product-development and PR
|
||||||
on format-branch pull, xml -> yml, push to product-development and PR
|
|
||||||
|
### FTBatch development pc on development branch
|
||||||
### FTBatch development pc on development branch
|
|
||||||
|
```sh
|
||||||
```sh
|
?git branch -D format-branch
|
||||||
?git branch -D format-branch
|
git checkout format-branch
|
||||||
git checkout format-branch
|
git merge deployed
|
||||||
git merge deployed
|
|
||||||
|
```
|
||||||
```
|
|
||||||
|
make changes and export files
|
||||||
make changes and export files
|
|
||||||
|
commit and push back to server
|
||||||
commit and push back to server
|
|
||||||
|
```sh
|
||||||
```sh
|
git add -A
|
||||||
git add -A
|
git commit
|
||||||
git commit
|
git push origin format-branch
|
||||||
git push origin format-branch
|
```
|
||||||
```
|
|
||||||
|
### format-bot pc
|
||||||
### format-bot pc
|
|
||||||
|
```sh
|
||||||
```sh
|
git branch -D format-branch
|
||||||
git branch -D format-branch
|
git fetch origin
|
||||||
git fetch origin
|
git checkout -b format-branch
|
||||||
git checkout -b format-branch
|
git checkout master
|
||||||
git checkout master
|
git pull
|
||||||
git pull
|
git branch -D product-development
|
||||||
git branch -D product-development
|
git checkout -b product-development
|
||||||
git checkout -b product-development
|
git merge --squash --no-commit --no-ff --strategyoption=theirs format-branch
|
||||||
git merge --squash --no-commit --no-ff --strategyoption=theirs format-branch
|
|
||||||
|
```
|
||||||
```
|
|
||||||
|
run the formatter
|
||||||
run the formatter
|
|
||||||
|
```sh
|
||||||
```sh
|
git add -A
|
||||||
git add -A
|
git commit
|
||||||
git commit
|
git push origin product-development
|
||||||
git push origin product-development
|
git push origin --delete format-branch
|
||||||
git push origin --delete format-branch
|
|
||||||
|
```
|
||||||
```
|
|
||||||
|
create a pull request
|
||||||
create a pull request
|
|
||||||
|
```sh
|
||||||
```sh
|
git fetch --tags
|
||||||
git fetch --tags
|
gotea pr c --base=master --head=product-development --repo another-user/batch-example --title="WIP: this is a PR! it rocks!"
|
||||||
gotea pr c --base=master --head=product-development --repo another-user/batch-example --title="WIP: this is a PR! it rocks!"
|
|
||||||
|
```
|
||||||
```
|
|
||||||
|
closing a pull request (not used)
|
||||||
closing a pull request (not used)
|
```sh
|
||||||
```sh
|
gotea pr close --repo another-user/batch-example 11
|
||||||
gotea pr close --repo another-user/batch-example 11
|
```
|
||||||
```
|
|
||||||
|
build
|
||||||
build
|
|
||||||
|
```sh
|
||||||
```sh
|
|
||||||
|
git checkout master
|
||||||
git checkout master
|
git pull
|
||||||
git pull
|
git checkout deployed
|
||||||
git checkout deployed
|
git merge master
|
||||||
git merge master
|
```
|
||||||
```
|
|
||||||
|
make xml files
|
||||||
make xml files
|
|
||||||
|
```sh
|
||||||
```sh
|
git add -A
|
||||||
git add -A
|
git commit
|
||||||
git commit
|
git push origin deployed
|
||||||
git push origin deployed
|
```
|
||||||
```
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
- Name: NO
|
- Name: NO
|
||||||
- Ordinal: '0'
|
- Ordinal: '0'
|
||||||
- EnumerationSet:
|
- EnumerationSet:
|
||||||
- UniqueName: PHASE_FAILURES
|
- UniqueName: PHASE_FAILURESzx
|
||||||
- Type: '0'
|
- Type: '0'
|
||||||
- EnumerationSet:
|
- EnumerationSet:
|
||||||
- UniqueName: $TIMER_TYPE
|
- UniqueName: $TIMER_TYPE
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
/**
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import * as React from "react";
|
||||||
|
import ReactVersion from "shared/ReactVersion";
|
||||||
|
import { LegacyRoot } from "react-reconciler/src/ReactRootTags";
|
||||||
|
import {
|
||||||
|
createContainer,
|
||||||
|
updateContainer,
|
||||||
|
injectIntoDevTools,
|
||||||
|
} from "react-reconciler/src/ReactFiberReconciler";
|
||||||
|
import Transform from "art/core/transform";
|
||||||
|
import Mode from "art/modes/current";
|
||||||
|
import FastNoSideEffects from "art/modes/fast-noSideEffects";
|
||||||
|
|
||||||
|
import { TYPES, childrenAsString } from "./ReactARTInternals";
|
||||||
|
|
||||||
|
Mode.setCurrent(
|
||||||
|
// Change to 'art/modes/dom' for easier debugging via SVG
|
||||||
|
FastNoSideEffects,
|
||||||
|
);
|
||||||
|
|
||||||
|
/** Declarative fill-type objects; API design not finalized */
|
||||||
|
|
||||||
|
const slice = Array.prototype.slice;
|
||||||
|
|
||||||
|
class LinearGradient {
|
||||||
|
constructor(stops, x1, y1, x2, y2) {
|
||||||
|
this._args = slice.call(arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
applyFill(node) {
|
||||||
|
node.fillLinear.apply(node, this._args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class RadialGradient {
|
||||||
|
constructor(stops, fx, fy, rx, ry, cx, cy) {
|
||||||
|
this._args = slice.call(arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
applyFill(node) {
|
||||||
|
node.fillRadial.apply(node, this._args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Pattern {
|
||||||
|
constructor(url, width, height, left, top) {
|
||||||
|
this._args = slice.call(arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
applyFill(node) {
|
||||||
|
node.fillImage.apply(node, this._args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** React Components */
|
||||||
|
|
||||||
|
class Surface extends React.Component {
|
||||||
|
componentDidMount() {
|
||||||
|
const { height, width } = this.props;
|
||||||
|
|
||||||
|
this._surface = Mode.Surface(+width, +height, this._tagRef);
|
||||||
|
|
||||||
|
this._mountNode = createContainer(
|
||||||
|
this._surface,
|
||||||
|
LegacyRoot,
|
||||||
|
null,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
"",
|
||||||
|
);
|
||||||
|
updateContainer(this.props.children, this._mountNode, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidUpdate(prevProps, prevState) {
|
||||||
|
const props = this.props;
|
||||||
|
|
||||||
|
if (props.height !== prevProps.height || props.width !== prevProps.width) {
|
||||||
|
this._surface.resize(+props.width, +props.height);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateContainer(this.props.children, this._mountNode, this);
|
||||||
|
|
||||||
|
if (this._surface.render) {
|
||||||
|
this._surface.render();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
updateContainer(null, this._mountNode, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
// This is going to be a placeholder because we don't know what it will
|
||||||
|
// actually resolve to because ART may render canvas, vml or svg tags here.
|
||||||
|
// We only allow a subset of properties since others might conflict with
|
||||||
|
// ART's properties.
|
||||||
|
const props = this.props;
|
||||||
|
|
||||||
|
// TODO: ART's Canvas Mode overrides surface title and cursor
|
||||||
|
const Tag = Mode.Surface.tagName;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Tag
|
||||||
|
ref={(ref) => (this._tagRef = ref)}
|
||||||
|
accessKey={props.accessKey}
|
||||||
|
className={props.className}
|
||||||
|
draggable={props.draggable}
|
||||||
|
role={props.role}
|
||||||
|
style={props.style}
|
||||||
|
tabIndex={props.tabIndex}
|
||||||
|
title={props.title}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Text extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
// We allow reading these props. Ideally we could expose the Text node as
|
||||||
|
// ref directly.
|
||||||
|
["height", "width", "x", "y"].forEach((key) => {
|
||||||
|
Object.defineProperty(this, key, {
|
||||||
|
get: function () {
|
||||||
|
return this._text ? this._text[key] : undefined;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
render() {
|
||||||
|
// This means you can't have children that render into strings...
|
||||||
|
const T = TYPES.TEXT;
|
||||||
|
return (
|
||||||
|
<T {...this.props} ref={(t) => (this._text = t)}>
|
||||||
|
{childrenAsString(this.props.children)}
|
||||||
|
</T>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
injectIntoDevTools({
|
||||||
|
findFiberByHostInstance: () => null,
|
||||||
|
bundleType: __DEV__ ? 1 : 0,
|
||||||
|
version: ReactVersion,
|
||||||
|
rendererPackageName: "react-art",
|
||||||
|
});
|
||||||
|
|
||||||
|
/** API */
|
||||||
|
|
||||||
|
export const ClippingRectangle = TYPES.CLIPPING_RECTANGLE;
|
||||||
|
export const Group = TYPES.GROUP;
|
||||||
|
export const Shape = TYPES.SHAPE;
|
||||||
|
export const Path = Mode.Path;
|
||||||
|
export { LinearGradient, Pattern, RadialGradient, Surface, Text, Transform };
|
Loading…
Reference in New Issue