Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
c329c5f
publish to ghcr
jeffborg Aug 30, 2024
f9a6081
removed extra line
jeffborg Aug 30, 2024
7300e35
fixed github login
jeffborg Aug 30, 2024
ce2482a
Merge branch 'evcc-io:master' into master
jeffborg Sep 1, 2024
e37ea7f
allow finishing state as starting state
jeffborg Sep 1, 2024
d31f35e
publish to ghcr
jeffborg Aug 30, 2024
768391c
removed extra line
jeffborg Aug 30, 2024
d897b3a
fixed github login
jeffborg Aug 30, 2024
b94391e
allow finishing state as starting state
jeffborg Sep 1, 2024
a18a734
fix release action
jeffborg Sep 1, 2024
5e620bb
Merge remote-tracking branch 'evcc/master'
jeffborg Sep 2, 2024
797fc54
Merge tag '0.136.6.1'
jeffborg Sep 2, 2024
246d712
Merge remote-tracking branch 'evcc/master'
jeffborg Sep 2, 2024
23e83b4
Add option for amber to use advanced price forecasts for tariffs
jeffborg Sep 4, 2024
42ecdae
make advanced price the default if available
jeffborg Sep 4, 2024
d2469b9
sync evcc repo
jeffborg Sep 4, 2024
5dba5b9
ilint workflow
jeffborg Sep 4, 2024
4a10d4b
sync evcc releases
jeffborg Sep 4, 2024
a5b364d
compare version number a numerically
jeffborg Sep 4, 2024
115c6c6
Revert "allow finishing state as starting state"
jeffborg Sep 8, 2024
6092fed
Merge branch 'amber-advanced-price'
jeffborg Sep 8, 2024
a414e9b
for merge tags if conflict create a pr
jeffborg Sep 11, 2024
4e0b095
upon pr merge tag & release
jeffborg Sep 11, 2024
1ad9f55
I think gh command is already installed
jeffborg Sep 11, 2024
9a96a4b
Fixed github action for tagging
jeffborg Sep 11, 2024
d9c7a96
use pat for checkout to allow action triggering
jeffborg Sep 11, 2024
3d24958
change cron times
jeffborg Sep 17, 2024
c98207f
build merged master
jeffborg Sep 17, 2024
b259c1a
setup git for nightly merge before build
jeffborg Sep 17, 2024
90e91d4
Merge branch 'evcc-master'
jeffborg Sep 27, 2024
f99f21f
Merge tag '0.130.13'
jeffborg Oct 2, 2024
b322ba1
allow pushing changes to workflows
jeffborg Oct 3, 2024
d696c16
adjust nightly build to not merge github workflows
jeffborg Oct 3, 2024
781090c
adjust night master merge
jeffborg Oct 3, 2024
ff3bba0
fixed git reset
jeffborg Oct 3, 2024
01cd0d9
change planner slot times
jeffborg Oct 15, 2024
d7e2d6b
Merge branch 'master' into tag-0.131.0
jeffborg Oct 24, 2024
750ba4a
Merge pull request #1 from jeffborg/tag-0.131.0
jeffborg Oct 24, 2024
a16226f
Fix sync tags pr task
jeffborg Oct 24, 2024
673d61a
allow manual trigger
jeffborg Oct 24, 2024
d3fee65
disable sponsor
jeffborg Nov 4, 2024
2d17874
Cleanup
jeffborg Nov 4, 2024
00464da
Merge remote-tracking branch 'origin/evcc-master'
jeffborg Dec 22, 2024
3498cab
revert loadpoint plan
jeffborg Dec 22, 2024
bff5356
MInor fix to allow docker building
jeffborg Dec 22, 2024
45b57c0
Revert "MInor fix to allow docker building"
jeffborg Dec 26, 2024
77e9dc0
Merge branch 'master' into tag-0.133.0
jeffborg Jan 19, 2025
00c53b8
Merge pull request #3 from jeffborg/tag-0.133.0
jeffborg Jan 19, 2025
ee710bb
Merge branch 'master' into tag-0.200.0
jeffborg Feb 13, 2025
0ed1422
Merge pull request #4 from jeffborg/tag-0.200.0
jeffborg Feb 13, 2025
73a3a26
Fix sync tags task
jeffborg Feb 16, 2025
97cb5b0
Fix order for pr
jeffborg Feb 16, 2025
9d6d122
Merge branch 'tag-0.200.1' into master
jeffborg Feb 16, 2025
9cbd7b0
Fix base tag name
jeffborg Feb 16, 2025
604c2df
removed deploy templates
jeffborg Feb 17, 2025
4f68322
Fix nightly image location
jeffborg Feb 17, 2025
60b8349
delete old nightly tags
jeffborg Feb 19, 2025
2b85b70
fix broken porcelin
jeffborg Feb 20, 2025
90c0e35
fix porcelin
jeffborg Feb 20, 2025
cda3ce8
fix porcelin 4th attempt
jeffborg Feb 20, 2025
0c5a61b
Merge branch 'tag-0.200.2' into master
jeffborg Feb 23, 2025
000f28c
change planner warn to info sick of warnings during 6 hour demand window
jeffborg Jun 2, 2025
0b9e6d5
Merge remote-tracking branch 'origin/master' into tag-0.206.0
jeffborg Jul 30, 2025
4e2c6ab
fix runners
jeffborg Jul 30, 2025
6a1fa81
fix reference to default tasks
jeffborg Jul 30, 2025
604f811
Fix broken workflow
jeffborg Aug 3, 2025
6436368
Merge branch 'master' into tag-0.207.1
actions-user Aug 4, 2025
592dab4
removed failing test
jeffborg Aug 4, 2025
f990cdd
Merge branch 'tag-0.207.3' into master
jeffborg Aug 17, 2025
2be25d6
Merge pull request #10 from jeffborg/master
jeffborg Aug 17, 2025
79ce16b
remove sponsor tests
jeffborg Aug 17, 2025
00f6288
reduce slots to 1/2 hours per amber
jeffborg Aug 29, 2025
e19eba8
Merge remote-tracking branch 'origin/master' into tag-0.207.6
jeffborg Sep 8, 2025
a462bc5
Merge tag '0.208.0'
jeffborg Sep 28, 2025
68ec142
small slot adjustment
jeffborg Sep 28, 2025
18f9fb5
use tag for dev container
jeffborg Sep 28, 2025
5a659b0
fix space
jeffborg Sep 28, 2025
ab5f7f5
allow acccess to packages
jeffborg Sep 28, 2025
61c01bb
Merge remote-tracking branch 'origin/master' into tag-0.209.0
jeffborg Oct 6, 2025
8d3fe1c
Merge remote-tracking branch 'upstream/master'
jeffborg Oct 9, 2025
22ad780
allow writing to packages
jeffborg Oct 9, 2025
1e00ee7
Merge remote-tracking branch 'upstream/master'
jeffborg Oct 21, 2025
7d7a3a5
Merge remote-tracking branch 'origin/tag-0.209.3'
jeffborg Oct 26, 2025
e0e4774
Merge remote-tracking branch 'upstream/master'
jeffborg Oct 31, 2025
a7615df
Merge branch 'master' into tag-0.209.6
actions-user Oct 31, 2025
e11585f
remove warning about missing planner rates
jeffborg Nov 2, 2025
ad1e78f
Revert "Planner: simplify short slot handling"
jeffborg Nov 2, 2025
2f334bb
adjust slot durations
jeffborg Nov 2, 2025
3c0e6ab
disable tariff caching al together
jeffborg Nov 5, 2025
f48fbf7
hardcode plan time it's always 12kw
jeffborg Nov 20, 2025
b043f7e
fix 2nd point for plan
jeffborg Nov 20, 2025
f0cd8ac
fix for float
jeffborg Nov 20, 2025
3b1310e
allow a current slot to be stopped mid slot if the price changes
jeffborg Nov 20, 2025
3c33ef9
don't use circuits for working out plan power because I never use pla…
jeffborg Nov 20, 2025
adc8d04
Merge branch 'master' into tag-0.210.1
actions-user Nov 26, 2025
de00105
pass test
jeffborg Nov 26, 2025
3870666
Merge remote-tracking branch 'upstream/master'
jeffborg Dec 17, 2025
90f3f83
Merge remote-tracking branch 'upstream/master'
jeffborg Dec 22, 2025
e1b31de
remove test
jeffborg Dec 22, 2025
2a7de80
Merge tag '0.300.2'
jeffborg Dec 31, 2025
d451c20
fix lint
jeffborg Dec 31, 2025
bfb171c
Fix lint
jeffborg Dec 31, 2025
60d71b7
Merge remote-tracking branch 'upstream/master'
jeffborg Jan 7, 2026
3fd2461
minor updates
jeffborg Jan 8, 2026
f569113
Don’t force until end of slot
jeffborg Jan 13, 2026
28dd289
Merge remote-tracking branch 'upstream/master'
jeffborg Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// README at: https://github.com/devcontainers/templates/tree/main/src/go
{
"name": "evcc",
"image": "mcr.microsoft.com/devcontainers/go",
"image": "mcr.microsoft.com/devcontainers/go:2-1.25-bookworm",
"features": {
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
"moby": false,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/_claude-issue-triage.yml_
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
triage-issue:
runs-on: depot-ubuntu-24.04-arm
runs-on: ubuntu-24.04
timeout-minutes: 10
permissions:
contents: read
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
clean:
name: Clean
runs-on: depot-ubuntu-24.04-arm
runs-on: ubuntu-24.04

permissions:
contents: read
Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:

build:
name: Build
runs-on: depot-ubuntu-24.04-arm
runs-on: ubuntu-24.04

permissions:
contents: read
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:

test:
name: Test
runs-on: depot-ubuntu-24.04-arm
runs-on: ubuntu-24.04

permissions:
contents: read
Expand Down Expand Up @@ -119,7 +119,7 @@ jobs:

lint:
name: Lint
runs-on: depot-ubuntu-24.04-arm
runs-on: ubuntu-24.04

permissions:
contents: read
Expand Down Expand Up @@ -161,7 +161,7 @@ jobs:
permissions:
contents: read
actions: write
runs-on: depot-ubuntu-24.04-arm
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -203,7 +203,7 @@ jobs:

integration:
name: Integration
runs-on: depot-ubuntu-24.04-arm-32
runs-on: ubuntu-24.04

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
check-label-and-create-issue:
runs-on: depot-ubuntu-24.04-arm
runs-on: ubuntu-24.04
if: github.event.pull_request.merged == true && github.event.pull_request.base.repo.full_name == github.event.pull_request.head.repo.full_name
steps:
- name: Check for 'needs documentation' label
Expand Down
74 changes: 0 additions & 74 deletions .github/workflows/documentation.yml

This file was deleted.

184 changes: 57 additions & 127 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -1,63 +1,68 @@
name: Nightly Build
permissions:
contents: read
packages: write

on:
schedule: # runs on the default branch: master
- cron: "0 2 * * *" # run at 2 AM UTC
- cron: "10 20 * * *" # run at 6:10 AM
workflow_dispatch:

jobs:
check_date:
runs-on: depot-ubuntu-24.04-arm
name: Check latest commit

permissions:
contents: read
outputs:
should_run: ${{ steps.should_run.outputs.should_run }}
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: print latest_commit
run: echo ${{ github.sha }}

- id: should_run
continue-on-error: true
name: check latest commit is less than a day
if: ${{ github.event_name == 'schedule' }}
run: test -z $(git rev-list --after="24 hours" ${{ github.sha }}) && echo "should_run=false" >> $GITHUB_OUTPUT

call-build-workflow:
name: Call Build
needs: check_date
if: |
${{ needs.check_date.outputs.should_run != 'false' }}
&& startsWith(github.ref, 'refs/heads/master')
&& ! contains(github.head_ref, 'refs/heads/chore/')
uses: evcc-io/evcc/.github/workflows/default.yml@master
permissions:
contents: read
actions: write
# check_date:
# runs-on: ubuntu-latest
# name: Check latest commit
# outputs:
# should_run: ${{ steps.should_run.outputs.should_run }}
# steps:
# - uses: actions/checkout@v4
# - name: print latest_commit
# run: echo ${{ github.sha }}

# - id: should_run
# continue-on-error: true
# name: check latest commit is less than a day
# if: ${{ github.event_name == 'schedule' }}
# run: test -z $(git rev-list --after="24 hours" ${{ github.sha }}) && echo "should_run=false" >> $GITHUB_OUTPUT

# call-build-workflow:
# name: Call Build
# needs: check_date
# if: |
# ${{ needs.check_date.outputs.should_run != 'false' }}
# && startsWith(github.ref, 'refs/heads/master')
# && ! contains(github.head_ref, 'refs/heads/chore/')
# uses: evcc-io/evcc/.github/workflows/default.yml@master

docker:
name: Publish Docker :nightly
needs:
- call-build-workflow
runs-on: depot-ubuntu-24.04-arm
# needs:
# - call-build-workflow
runs-on: ubuntu-latest

permissions:
contents: read
actions: read
packages: write

steps:
- uses: actions/checkout@v6
with:
ref: refs/heads/master # force master
ref: refs/heads/evcc-master # force master
fetch-depth: 0
persist-credentials: false

- name: Set up Git
run: |
git config user.name "GitHub Actions"
git config user.email "actions@github.com"

- name: Merge our master branch into evcc-master for building
run: |
git merge origin/master --no-commit --no-ff || true
git reset -- .github/workflows
git commit -m "merge from evcc/master"

- name: Get dist from cache
uses: actions/cache/restore@v5
id: cache-dist
Expand All @@ -68,8 +73,9 @@ jobs:
- name: Login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -78,7 +84,7 @@ jobs:
id: meta
uses: docker/metadata-action@v5
with:
images: evcc/evcc
images: ghcr.io/jeffborg/evcc
tags: |
type=raw,value=nightly
type=raw,value=nightly.{{date 'YYYYMMDD'}}-{{sha}}
Expand All @@ -93,93 +99,17 @@ jobs:
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Delete old nightly.* tags
run: |
old_tags=$(curl -s "https://hub.docker.com/v2/repositories/evcc/evcc/tags/?page_size=100" | jq -r '.results | map(select(.name | startswith("nightly."))) | sort_by(.last_updated) | reverse | .[1:] | .[].name')
for tag in $old_tags; do
echo "Deleting tag: $tag"
curl -s -H "Authorization: Bearer ${{ secrets.DOCKER_PASS }}" -X DELETE "https://hub.docker.com/v2/repositories/evcc/evcc/tags/$tag/"
done

hassio:
name: Hassio Addon :nightly
needs:
- docker
runs-on: depot-ubuntu-24.04-arm

permissions:
contents: read

steps:
- name: Checkout
uses: actions/checkout@v6
with:
repository: evcc-io/hassio-addon
token: ${{ secrets.HASSIO_DEPLOY_TOKEN }}
path: ./hassio

- name: Update version
run: |
current_date=$(date +%Y%m%d)
short_sha=$(echo "${{ github.sha }}" | cut -c 1-7)
sed -i -e "s/version:.*/version: nightly.${current_date}-${short_sha}/" ./hassio/evcc-nightly/config.yaml

- name: Push
run: |
cd ./hassio
git add .
git config user.name github-actions
git config user.email github-actions@github.com
git commit -am "Mirror evcc nightly release"
git push

apt:
name: Publish APT nightly
needs:
- call-build-workflow
runs-on: depot-ubuntu-24.04-arm

permissions:
contents: read
actions: read

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
persist-credentials: false

- uses: actions/setup-go@v6
with:
go-version-file: go.mod
id: go

- name: Patch ASN1
run: make patch-asn1-sudo

- name: Get dist from cache
uses: actions/cache/restore@v5
id: cache-dist
with:
path: dist
key: ${{ runner.os }}-${{ github.sha }}-dist

- name: Create nightly build
uses: goreleaser/goreleaser-action@v6
with:
version: '~> v2'
args: --snapshot -f .goreleaser-nightly.yml --clean
- name: Delete old nightly.* tags from GHCR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-python@v6
with:
python-version: 3.12
GHCR_USERNAME: ${{ github.actor }}
GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Or use a PAT with 'write:packages' scope
run: |
repo="ghcr.io/jeffborg/evcc"
tags=$(curl -s -H "Authorization: Bearer $GHCR_TOKEN" "https://api.github.com/users/jeffborg/packages/container/evcc/versions" | jq -r '.[] | select(.metadata.container.tags[] | startswith("nightly.")) | {id: .id, updated_at: .updated_at} | @base64')

- name: Install Cloudsmith CLI
run: pip install --upgrade cloudsmith-cli
sorted_tags=$(echo "$tags" | base64 --decode | jq -s 'sort_by(.updated_at) | reverse | .[2:]')

- name: Publish .deb to Cloudsmith
env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
run: make apt-nightly
for tag in $(echo "$sorted_tags" | jq -r '.[].id'); do
echo "Deleting tag ID: $tag"
curl -s -X DELETE -H "Authorization: Bearer $GHCR_TOKEN" "https://api.github.com/users/jeffborg/packages/container/evcc/versions/$tag"
done
Loading
Loading