diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..fc5628a --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,75 @@ +name: Test and Build + +on: + push: + branches: + main + +jobs: + test-and-build: + runs-on: ubuntu-latest + steps: + # Checkout repository + - name: Checkout code + uses: actions/checkout@v4 + with: + ssh-key: '${{ secrets.SSH_PRIVATE_KEY }}' + ssh-known-hosts: '${{ secrets.SSH_KNOWN_HOST }}' + + # Install Cypress dependencies + - name: Install Cypress dependencies + run: | + sudo apt-get update + sudo apt-get install -y libgtk2.0-0t64 libgtk-3-0t64 libgbm-dev libnotify-dev libnss3 libxss1 libasound2t64 libxtst6 xauth xvfb + + # Install node.js + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "24" + + # Install rust + - name: Install Rust + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + echo "PATH=$HOME/.cargo/bin:$PATH" >> $GITHUB_ENV + + # Install wasm-pack + - name: Install wasm-pack + run: | + npm install -g wasm-pack + wasm-pack --version + + # Install app dependencies + - name: Install app dependencies + run: npm install + + # Test wasm library + - name: Test wasm library + run: | + npm run test:wasm + npm run test:wasmdoc + + # Build wasm library + - name: Build wasm library + run: | + npm run build:wasm + + # Test application + - name: Test application + run: | + npm test + npx cypress run --component + + # Build application + - name: Build application + run: | + npm run build + + # Upload artifact + - name: Upload build artifact (for debugging) + uses: actions/upload-artifact@v3 + with: + name: dist + path: dist/ + retention-days: 5 diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..e69de29