* xtask: Add arguments to `publish` that allow specifying a custom git remote to push to and a custom cargo registry to publish packages to. * xtask/publish: Don't release `xtask` subcrate because it's not meant to be released at all. * xtask/publish: Add status messages to publish so we see what crate is currently being published, too. * xtask/publish: Disable default features on `zellij` because otherwise it tries to pick up the debug builds of the plugins, which aren't part of released version of `zellij utils`. * xtask/publish: Fix handling of custom registry * docs: Add `RELEASE.md` which explains how to simulate a zellij release. * xtask: Apply rustfmt * xtask: Remove `wasm-opt` from build steps because recent versions cause havoc in the release process in GitHub pipelines and it's primary goal is to only reduce binary size. Current rust versions seem to produce very compact wasm binaries themselves, though. * .github: Don't install wasm-opt in workflows
54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
name: End to End tests
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
test:
|
|
name: Build generic binary and run tests on it
|
|
runs-on: ubuntu-latest
|
|
environment: cachix
|
|
|
|
services:
|
|
ssh:
|
|
image: ghcr.io/linuxserver/openssh-server
|
|
env:
|
|
PUID: 1001
|
|
PGID: 1000
|
|
TZ: Europe/Vienna
|
|
PASSWORD_ACCESS: true
|
|
USER_PASSWORD: test
|
|
USER_NAME: test
|
|
ports:
|
|
- 2222:2222
|
|
options: -v ${{ github.workspace }}/target:/usr/src/zellij --name ssh
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Add WASM target
|
|
run: rustup target add wasm32-wasi
|
|
- name: Install musl-tools
|
|
run: sudo apt-get install -y --no-install-recommends musl-tools
|
|
- name: Add musl target
|
|
run: rustup target add x86_64-unknown-linux-musl
|
|
#run: cargo install --debug cargo-make
|
|
- name: Build asset
|
|
run: cargo xtask ci e2e --build
|
|
# we copy this manually into the target folder instead of mounting it because
|
|
# github actions creates the service first, and if it has a mount that is part
|
|
# of your yet unchecked out code, you cannot checkout the code after the mount
|
|
- name: Copy fixtures folder to target
|
|
run: cp -r ${{ github.workspace }}/src/tests/fixtures ${{ github.workspace }}/target
|
|
- name: Restart ssh container
|
|
# we need to do this because otherwise the volume will not be mounted
|
|
# on the docker container, since it was created before the folder existed
|
|
uses: docker://docker
|
|
with:
|
|
args: docker restart ssh
|
|
- name: Test
|
|
run: cargo xtask ci e2e --test
|