33 push :
44 tags :
55 - ' v*.*.*'
6+
67jobs :
8+ tests :
9+ runs-on : ubuntu-latest
10+ steps :
11+ - name : Checkout code - Tests
12+ uses : actions/checkout@v5
13+
14+ - name : Build and run tests
15+ run : docker build --target tests --progress=plain -t riber-tests .
16+
717 deploy :
818 runs-on : ubuntu-latest
19+ needs : tests
920 steps :
10- - name : Checkout code
11- uses : actions/checkout@v4
21+ - name : Checkout code - Deploy
22+ uses : actions/checkout@v5
1223
1324 - name : Get version
1425 id : image
1526 run : |
1627 VERSION=$(grep '<Version>' Directory.Build.props | sed 's/.*<Version>\(.*\)<\/Version>.*/\1/')
1728 echo "version=$VERSION" >> $GITHUB_OUTPUT
18-
29+
30+ - name : Lowercase repository owner
31+ id : repo
32+ run : echo "owner=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
33+
1934 - name : Login to GHCR
20- uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
35+ uses : docker/login-action@v3
2136 with :
2237 registry : ghcr.io
23- username : ${{ github.repository_owner }}
38+ username : ${{ github.actor }}
2439 password : ${{ secrets.GHCR }}
2540
2641 - name : Build and push to GHCR
27- uses : docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
42+ uses : docker/build-push-action@v6
2843 with :
2944 context : .
3045 push : true
3146 platforms : linux/amd64
47+ target : runtime
3248 tags : |
33- ghcr.io/${{ github.repository_owner }}/riber:latest
34- ghcr.io/${{ github.repository_owner }}/riber:${{ steps.image.outputs.version }}
35- #
36- # - name: Deploy to AWS EC2
37- # uses: appleboy/ssh-action@v1.0.3
38- # with:
39- # host: ${{ secrets.EC2_HOST }}
40- # username: ${{ secrets.EC2_USERNAME }}
41- # key: ${{ secrets.EC2_KEY }}
42- # script: |
43- # echo "${{ secrets.GHCR }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
44- # docker pull ghcr.io/${{ github.repository_owner }}/riber:${{ steps.image.outputs.version }}
45- #
46- # docker stop riber-api || true
47- # docker rm riber-api || true
48- #
49- # docker run -d --name riber-api -p 80:8080 --restart unless-stopped \
50- # -e ConnectionStrings__DefaultConnection="${{ secrets.CONNECTION_STRING }}" \
51- # -e AccessTokenSettings__SecretKey="${{ secrets.ACCESS_TOKEN_SECRET_KEY }}" \
52- # -e RefreshTokenSettings__SecretKey="${{ secrets.REFRESH_TOKEN_SECRET_KEY }}" \
53- # -e AWS__S3__BucketImagesName="${{ secrets.S3_BUCKET_IMAGES_NAME }}" \
54- # ghcr.io/${{ github.repository_owner }}/riber:${{ steps.image.outputs.version }}
55- #
56- # docker images | grep riber | tail -n +4 | awk '{print $3}' | xargs -r docker rmi || true
49+ ghcr.io/${{ steps.repo.outputs.owner }}/riber:latest
50+ ghcr.io/${{ steps.repo.outputs.owner }}/riber:${{ steps.image.outputs.version }}
0 commit comments