mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 14:15:38 +00:00
112 lines
4.1 KiB
YAML
112 lines
4.1 KiB
YAML
name: "Build ES-DE"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- retrodeck-main
|
|
- main
|
|
- feat/*
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
Building_RetroDECK-ES-DE:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Clone RetroDECK repo
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: 'true'
|
|
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
|
fetch-depth: 1
|
|
|
|
- name: "Install dependencies"
|
|
run: "automation_tools/install_dependencies.sh"
|
|
|
|
- name: "Creating ES-DE manifest"
|
|
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/update_es-de_manifest.sh"
|
|
|
|
- name: "[DEBUG] Outputting manifest"
|
|
run: cat net.retrodeck.es-de.yml
|
|
|
|
- name: "Build flatpak"
|
|
id: "flatpak-download"
|
|
run: |
|
|
git config --global protocol.file.allow always
|
|
flatpak-builder --user --force-clean \
|
|
--install-deps-from=flathub \
|
|
--install-deps-from=flathub-beta \
|
|
--repo=${GITHUB_WORKSPACE}/es-de-repo \
|
|
"${GITHUB_WORKSPACE}"/es-de-build-dir \
|
|
net.retrodeck.es-de.yml
|
|
|
|
- name: "Exporting dir tree"
|
|
id: tree
|
|
run: tree -H ./ > ${GITHUB_WORKSPACE}/tree.html
|
|
|
|
- name: Create Artifact for RetroDECK
|
|
run: |
|
|
tar -czf ${GITHUB_WORKSPACE}/RetroDECK-ES-DE-Artifact.tar.gz -C ${GITHUB_WORKSPACE}/es-de-build-dir .
|
|
hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-ES-DE-Artifact.tar.gz))
|
|
echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha
|
|
mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
|
|
continue-on-error: true
|
|
timeout-minutes: 1440
|
|
|
|
- name: Set environment variable with current branch name
|
|
run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
|
|
|
|
- name: Get branch name
|
|
id: branch_name
|
|
run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV
|
|
|
|
- name: Get date
|
|
id: date
|
|
run: echo "DATE=$(date +'%d%m%y.%S')" >> $GITHUB_ENV
|
|
|
|
- name: Publish the artifacts in a release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
tag: "${{env.BRANCH_NAME}}-${{env.DATE}}"
|
|
body: |
|
|
# Release Notes
|
|
These are the artifact of RetroDECK ES-DE, commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
|
On branch [${{env.BRANCH_NAME}}](https://github.com/RetroDECK/ES-DE/tree/${{env.BRANCH_NAME}}).
|
|
|
|
artifacts: "RetroDECK-ES-DE-Artifact.tar.gz, tree.html"
|
|
allowUpdates: true
|
|
makeLatest: ${{ contains(env.BRANCH_NAME, 'feat/') && 'false' || 'true' }}
|
|
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
|
continue-on-error: true
|
|
|
|
- name: Clone Cooker repo
|
|
uses: actions/checkout@v3
|
|
with:
|
|
repository: https://github.com/RetroDECK/RetroDECK
|
|
ref: cooker
|
|
submodules: 'true'
|
|
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
|
path: "${GITHUB_WORKSPACE}/cooker"
|
|
fetch-depth: 1
|
|
|
|
- name: "Update RetroDECK Cooker manifest with new artifact URL and SHA256"
|
|
if: contains(env.BRANCH_NAME, 'feat/') == false
|
|
run: |
|
|
NEW_URL="https://github.com/RetroDECK/ES-DE/releases/download/${{env.BRANCH_NAME}}-${{env.DATE}}/RetroDECK-ES-DE-Artifact.tar.gz"
|
|
NEW_SHA256=$(cat ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha)
|
|
|
|
yq e -i '.modules[] | select(.name == "ES-DE") | .sources[0].url = strenv(NEW_URL)' cooker/net.retrodeck.retrodeck.yml
|
|
yq e -i '.modules[] | select(.name == "ES-DE") | .sources[0].sha256 = strenv(NEW_SHA256)' cooker/net.retrodeck.retrodeck.yml
|
|
|
|
- name: Commit and push changes to Cooker repo
|
|
if: contains(env.BRANCH_NAME, 'feat/') == false
|
|
run: |
|
|
cd "${GITHUB_WORKSPACE}/cooker"
|
|
git checkout feat/lighter-manifest # TODO: remove me later
|
|
git config user.name "GitHub Actions"
|
|
git config user.email "actions@github.com"
|
|
git add net.retrodeck.retrodeck.yml
|
|
git commit -m "ES-DE: updated module with new artifact URL and SHA256 [skip ci]"
|
|
git push origin HEAD
|
|
|