diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml new file mode 100644 index 0000000..96021a4 --- /dev/null +++ b/.gitea/workflows/main.yml @@ -0,0 +1,85 @@ +name: Build Mau & Deploy Mau + +on: [push, pull_request] + +concurrency: + group: mau + cancel-in-progress: true + +env: + DOCKER_LATEST: nightly + GITEA_INSTANCE_URL: "git.mau-mau.nl" + +jobs: + build: + runs-on: self-hosted + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@main + with: + node-version: 16 + + - name: Install dependencies + run: npm install + + - name: Build + run: npm run build + + - name: Test + run: npm test -- --watch=false + + deploy: + runs-on: self-hosted + needs: build + steps: + - name: Checkout + uses: actions/checkout@main + with: + fetch-depth: 0 + + - name: Create .env File + run: | + touch .env + echo "REACT_APP_API_URL=86.81.166.51:5000" > .env + + - name: Set up Docker BuildX + uses: docker/setup-buildx-action@v2 + with: + config-inline: | + [registry."${{ env.GITEA_INSTANCE_URL }}"] + http = true + insecure = true + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + registry: ${{ env.GITEA_INSTANCE_URL }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Get Meta + id: meta + run: | + echo REPO_OWNER=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print tolower($1)}' ) >> $GITHUB_OUTPUT + echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print tolower($2)}') >> $GITHUB_OUTPUT + echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + platforms: | + linux/amd64 + push: true + tags: | + ${{ env.GITEA_INSTANCE_URL }}/${{ steps.meta.outputs.REPO_OWNER }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }} + ${{ env.GITEA_INSTANCE_URL }}/${{ steps.meta.outputs.REPO_OWNER }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }} \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index a7a8c36..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Build Mau & Deploy Mau - -on: - push: - branches: - - mauster - pull_request: - branches: - - mauster - workflow_dispatch: - -concurrency: - group: mau - cancel-in-progress: true - -jobs: - build: - runs-on: self-hosted - steps: - - name: Checkout - uses: actions/checkout@main - with: - fetch-depth: 0 - - name: Setup Node.js - uses: actions/setup-node@main - with: - node-version: 16 - - name: Install dependencies - run: npm install - - name: Build - run: npm run build - - name: Test - run: npm test -- --watch=false - deploy: - runs-on: self-hosted - needs: build - steps: - - name: Checkout - uses: actions/checkout@main - with: - fetch-depth: 0 - - name: Create .env File - run: | - touch .env - echo "REACT_APP_API_URL=86.81.166.51:5000" > .env - - name: Docker Compose - run: docker compose up -d --build