name: Build and Test on: push: branches: [main] # pull_request: # branches: [main] jobs: determine_version: runs-on: ubuntu-latest outputs: repo_name: ${{ steps.project_metadata.outputs.REPO_NAME }} repo_version_hash: ${{ steps.project_metadata.outputs.REPO_VERSION_HASH }} project_version: ${{ steps.project_metadata.outputs.PROJECT_VERSION }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup Node Environment uses: actions/setup-node@v4 - name: Acquire Project Metadata id: project_metadata run: | echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT echo REPO_VERSION_HASH=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT echo PROJECT_VERSION=$(npm pkg get version --workspaces=false | tr -d \") >> $GITHUB_OUTPUT - name: Show Metadata run: | set -x echo "${{ steps.project_metadata.outputs.REPO_NAME }}" echo "${{ steps.project_metadata.outputs.repo_version_hash }}" echo "${{ steps.project_metadata.outputs.project_version }}" build_and_push: runs-on: ubuntu-latest steps: - name: Show Metadata run: | set -x echo "${{ needs.determine_version.outputs.repo_name }}" echo "${{ needs.determine_version.outputs.repo_name }}" echo "${{ needs.determine_version.outputs.repo_name }}" - name: Checkout Repository uses: actions/checkout@v4 - name: Login to Docker Registry uses: docker/login-action@v3 with: registry: gitea.perren.cloud username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build and Push uses: docker/build-push-action@v5 with: context: . push: true tags: | gitea.perren.cloud/caperren/${{ needs.determine_version.outputs.repo_name }}:${{ needs.determine_version.outputs.repo_version_hash }} gitea.perren.cloud/caperren/${{ needs.determine_version.outputs.repo_name }}:${{ needs.determine_version.outputs.project_version }} gitea.perren.cloud/caperren/caperren-com:latest test: runs-on: ubuntu-latest steps: - run: echo "Tests would go here" # - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." # - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" # - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." # - name: Check out repository code # uses: actions/checkout@v4 # - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." # - run: echo "🖥️ The workflow is now ready to test your code on the runner." # - name: List files in the repository # run: | # ls ${{ gitea.workspace }} # - run: echo "🍏 This job's status is ${{ job.status }}."