diff --git a/.forgejo/workflows/commit.yaml b/.forgejo/workflows/commit.yaml new file mode 100644 index 000000000..f7fe969d7 --- /dev/null +++ b/.forgejo/workflows/commit.yaml @@ -0,0 +1,47 @@ +on: + push: + branches: + - 'dev' +jobs: + test-build: + runs-on: docker + container: + image: iceshrimp.dev/iceshrimp/ci-env:latest + options: --volume /opt/iceshrimp-cache/yarn:/iceshrimp-caches/yarn + services: + database: + image: postgres:15 + env: + POSTGRES_PASSWORD: "test" + redis: + image: redis + steps: + - name: Clone repository + run: git clone https://iceshrimp.dev/iceshrimp/iceshrimp.git --branch=${{ github.ref_name }} --depth=1 . + - name: Install build dependencies + run: | + cp -Tr /iceshrimp-caches/yarn .yarn + yarn --immutable + rm -rf /iceshrimp-caches/yarn/* && cp -Tr .yarn /iceshrimp-caches/yarn + - name: Build the shrimp + run: yarn build:debug + - name: Test the shrimp + run: | + cp .config/ci.yml .config/default.yml + yarn run migrate + build-and-push: + runs-on: docker + needs: test-build + container: + image: iceshrimp.dev/iceshrimp/ci-env:latest + options: --volume /root/.docker:/root/.docker + steps: + - name: Clone repository + run: git clone https://iceshrimp.dev/iceshrimp/iceshrimp.git --branch=${{ github.ref_name }} --depth=1 . + - name: Build docker image + shell: bash + run: | + docker login iceshrimp.dev -u ${{ github.actor }} -p ${{ secrets.REGISTRY_TOKEN }} + docker buildx create --name iceshrimp-ci 2>&1 &>/dev/null || true + docker buildx build -t iceshrimp.dev/${GITHUB_REPOSITORY@L}:$GITHUB_REF_NAME --provenance=false --platform=linux/amd64,linux/arm64 --push --builder iceshrimp-ci . + docker buildx prune --keep-storage 20G diff --git a/.forgejo/workflows/test-build.yaml b/.forgejo/workflows/test-build.yaml index 40a35e831..0ff90b0ef 100644 --- a/.forgejo/workflows/test-build.yaml +++ b/.forgejo/workflows/test-build.yaml @@ -1,5 +1,7 @@ on: - - push + push: + branches-ignore: + - 'dev' jobs: test-build: runs-on: docker @@ -15,19 +17,15 @@ jobs: image: redis steps: - name: Clone repository - run: git clone https://iceshrimp.dev/iceshrimp/iceshrimp.git --branch=${{ github.ref_name }} --depth=1 /iceshrimp + run: git clone https://iceshrimp.dev/iceshrimp/iceshrimp.git --branch=${{ github.ref_name }} --depth=1 . - name: Install build dependencies run: | - cd /iceshrimp cp -Tr /iceshrimp-caches/yarn .yarn yarn --immutable rm -rf /iceshrimp-caches/yarn/* && cp -Tr .yarn /iceshrimp-caches/yarn - name: Build the shrimp - run: | - cd /iceshrimp - yarn build:debug + run: yarn build:debug - name: Test the shrimp run: | - cd /iceshrimp cp .config/ci.yml .config/default.yml yarn run migrate