now #53
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Vib Build | ||
on: | ||
push: | ||
branches: [ "main" ] | ||
schedule: | ||
- cron: '14 3 * * *' | ||
workflow_dispatch: | ||
env: | ||
GITHUB_USER: ${{ github.actor }} | ||
DIGEST_RELEASE_TAG: save-digest | ||
jobs: | ||
check_update: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
has_updates: ${{ steps.set_output.outputs.has_updates }} | ||
permissions: | ||
contents: write | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Set requirement | ||
run: echo "CHECK_UPDATES=${{ github.event_name == 'schedule'}}" >> "$GITHUB_ENV" | ||
- name: Install dependencies | ||
if: env.CHECK_UPDATES == true | ||
run: sudo apt-get install jq | ||
- name: Download previous digest | ||
if: env.CHECK_UPDATES == true | ||
continue-on-error: true | ||
run: wget https://github.com/${{ github.repository }}/releases/download/${{ env.DIGEST_RELEASE_TAG }}a/digest.txt | ||
- name: Check if there was an update to the base image | ||
if: env.CHECK_UPDATES == true | ||
run: | | ||
touch digest.txt | ||
mv digest.txt last_digest.txt | ||
curl https://differ.vanillaos.org/images/desktop > vanilla-image-info | ||
jq -r '.image.releases[-1].digest' vanilla-image-info > digest.txt | ||
echo Old digest is: $(cat last_digest.txt) | ||
echo New digest is: $(cat digest.txt) | ||
echo "HAS_UPDATES=$(cmp -s digest.txt last_digest.txt; echo $?)" >> "$GITHUB_ENV" | ||
- name: Upload new digest | ||
if: env.CHECK_UPDATES == true && env.HAS_UPDATES == 1 | ||
uses: softprops/action-gh-release@v1 | ||
with: | ||
token: "${{ secrets.GITHUB_TOKEN }}" | ||
tag_name: "${{ env.DIGEST_RELEASE_TAG }}" | ||
prerelease: true | ||
name: "This keeps track of the current digest" | ||
files: | | ||
digest.txt | ||
- name: Set output | ||
id: set_output | ||
run: | | ||
if [ ${{env.CHECK_UPDATES}} == false ] | ||
then | ||
echo action was manually run, skipped update checking | ||
echo "has_updates=true" >> "$GITHUB_OUTPUT" | ||
elif [ ${{ env.HAS_UPDATES }} == 1 ] | ||
then | ||
echo base image was updated since last build | ||
echo "has_updates=true" >> "$GITHUB_OUTPUT" | ||
else | ||
echo no updates to the base image since last build | ||
echo "has_updates=false" >> "$GITHUB_OUTPUT" | ||
fi | ||
echo Output is ${{ job.outputs.wawa }} | ||
update: | ||
runs-on: ubuntu-latest | ||
needs: check_update | ||
if: needs.check_update.outputs.has_updates == "true" | ||
Check failure on line 79 in .github/workflows/vib-build.yml GitHub Actions / Vib BuildInvalid workflow file
|
||
steps: | ||
- name: Hello World | ||
run: echo "Hello, world ${{ needs.check_update.outputs.has_updates }}" | ||
dont_update: | ||
runs-on: ubuntu-latest | ||
needs: check_update | ||
if: needs.check_update.outputs.has_updates != "true" | ||
steps: | ||
- name: Bye World | ||
run: echo "Bye, world OO${{ needs.check_update.outputs.has_updates }}OO" | ||
# build: | ||
# | ||
# runs-on: ubuntu-latest | ||
# | ||
# steps: | ||
# - uses: actions/checkout@v4 | ||
# | ||
# - uses: vanilla-os/[email protected] | ||
# with: | ||
# recipe: 'recipe.yml' | ||
# plugins: 'Vanilla-OS/vib-fsguard:v1.2-1' | ||
# | ||
# - name: Build the Docker image | ||
# run: docker image build -f Containerfile --tag ghcr.io/vanilla-os/desktop:main . | ||
# | ||
# # Push the image to GHCR (Image Registry) | ||
# - name: Push To GHCR | ||
# if: github.repository == 'vanilla-os/desktop-image' | ||
# run: | | ||
# docker login ghcr.io -u ${{ env.GITHUB_USER }} -p ${{ secrets.GITHUB_TOKEN }} | ||
# docker image push "ghcr.io/vanilla-os/desktop:main" |