Skip to content

[server] Allow short password in admin/user/change_password #1529 (#1… #250

[server] Allow short password in admin/user/change_password #1529 (#1…

[server] Allow short password in admin/user/change_password #1529 (#1… #250

Workflow file for this run

name: release
on:
push:
branches: [main]
paths:
- agdb/**
- agdb_api/**
- agdb_derive/**
- agdb_server/**
- agdb_studio/**
- .github/workflows/release.yaml
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: npm ci && npm run build
working-directory: agdb_api/typescript
- run: npm ci && npm run build
working-directory: agdb_studio
- run: cargo build -p agdb_derive -p agdb -p agdb_api -p agdb_server --all-features -r
dev_image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: docker build --pull -t agnesoft/agdb:dev -f agdb_server/containerfile .
- run: echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u agnesoft --password-stdin
- run: docker push agnesoft/agdb:dev
- run: docker tag agnesoft/agdb:dev ghcr.io/agnesoft/agdb:dev
- run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u agnesoft --password-stdin
- run: docker push ghcr.io/agnesoft/agdb:dev
new_version:
runs-on: ubuntu-latest
outputs:
new_version: ${{ steps.new_version.outputs.new_version }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- id: new_version
run: |
if [[ "$(git diff HEAD^ --name-only -- Version)" != "" ]]; then echo "new_version=$(cat Version)" >> $GITHUB_OUTPUT; fi
echo "New version: $(cat Version)"
release:
runs-on: ubuntu-latest
needs: [build, new_version]
if: needs.new_version.outputs.new_version != ''
steps:
- uses: actions/checkout@v4
- run: |
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git tag -a "v${{ needs.new_version.outputs.new_version }}" -m "Release version ${{ needs.new_version.outputs.new_version }}"
git push origin "v${{ needs.new_version.outputs.new_version }}"
- uses: softprops/action-gh-release@v2
with:
tag_name: v${{ needs.new_version.outputs.new_version }}
generate_release_notes: true
publish_cargo:
runs-on: ubuntu-latest
needs: [release, new_version]
if: needs.new_version.outputs.new_version != ''
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: npm ci && npm run build
working-directory: agdb_api/typescript
- run: npm ci && npm run build
working-directory: agdb_studio
- run: |
cargo publish -p agdb_derive --token ${CRATES_IO_TOKEN}
cargo publish -p agdb --token ${CRATES_IO_TOKEN}
cargo publish -p agdb_api --token ${CRATES_IO_TOKEN}
cargo publish -p agdb_server --token ${CRATES_IO_TOKEN}
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
publish_npm:
runs-on: ubuntu-latest
needs: [release, new_version]
if: needs.new_version.outputs.new_version != ''
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
registry-url: "https://registry.npmjs.org"
- working-directory: agdb_api/typescript
run: |
npm ci
npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_ORG_TOKEN }}
publish_dockerhub_ghcr:
runs-on: ubuntu-latest
needs: [release, new_version]
if: needs.new_version.outputs.new_version != ''
steps:
- uses: actions/checkout@v4
- run: docker build -t agnesoft/agdb:latest -f agdb_server/containerfile .
- run: docker tag agnesoft/agdb:latest agnesoft/agdb:${{ needs.new_version.outputs.new_version }}
- run: echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u agnesoft --password-stdin
- run: docker push agnesoft/agdb:latest
- run: docker push agnesoft/agdb:${{ needs.new_version.outputs.new_version }}
- run: docker tag agnesoft/agdb:latest ghcr.io/agnesoft/agdb:latest
- run: docker tag agnesoft/agdb:${{ needs.new_version.outputs.new_version }} ghcr.io/agnesoft/agdb:${{ needs.new_version.outputs.new_version }}
- run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u agnesoft --password-stdin
- run: docker push ghcr.io/agnesoft/agdb:latest
- run: docker push ghcr.io/agnesoft/agdb:${{ needs.new_version.outputs.new_version }}