diff --git a/.github/workflows/set-date.yaml b/.github/workflows/set-date.yaml new file mode 100644 index 0000000000..a3f803942a --- /dev/null +++ b/.github/workflows/set-date.yaml @@ -0,0 +1,34 @@ +name: Set Date + +# Run once every day +# If we run it on schedule, but only change the date stamp if the repo has changed, The date could be behind by up to a day. +# We can't really try to change it with every push the way workflows are set up now, +# because there is no way to control which workflows run first, so some builds will not have the updated date and will lag behind by one build. +# https://help.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token +# "When you use the repository's GITHUB_TOKEN to perform tasks on behalf of the GitHub Actions app, +# events triggered by the GITHUB_TOKEN will not create a new workflow run." +on: + schedule: + - cron: '0 0 * * *' + +jobs: + update-date: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Write Date File + run: | + echo -e -n "#pragma once\n#ifndef VCS_DATE\n#define VCS_DATE $(date "+%Y%m%d")\n#endif" > ./firmware/controllers/date_stamp.h + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git commit -m "Update date" -a 2>&1 | grep -E '(nothing to commit|changed)' + + - name: Push changed date file + uses: ad-m/github-push-action@master + with: + github_token: ${{ github.token }} + branch: master diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h new file mode 100644 index 0000000000..199d43a331 --- /dev/null +++ b/firmware/controllers/date_stamp.h @@ -0,0 +1,3 @@ +#ifndef VCS_DATE +#define VCS_DATE 20200617 +#endif \ No newline at end of file diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 6788118417..6246a560b1 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -56,6 +56,7 @@ #include "launch_control.h" #include "tachometer.h" #include "gppwm.h" +#include "date_stamp.h" #if EFI_SENSOR_CHART #include "sensor_chart.h" @@ -716,6 +717,6 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 20200614; + return VCS_DATE; } #endif /* EFI_UNIT_TEST */