Subversion Repositories Krakow BASIC

Rev

Rev 23 | Rev 25 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 nishi 1
# $Id$
10 nishi 2
 
14 nishi 3
name: "Build Krakow BASIC"
4
 
10 nishi 5
on:
6
  workflow_dispatch:
7
  push:
8
 
9
concurrency:
10
  group: "build"
11
  cancel-in-progress: true
12
 
13
jobs:
14
  build-c64:
15
    name: "Build for Commodore 64"
16
    runs-on: ubuntu-latest
15 nishi 17
 
10 nishi 18
    permissions:
19
      contents: write
20
 
21
    steps:
22
    - name: Checkout
23
      uses: actions/checkout@v4
24
    - name: Install packages
25
      run: sudo apt-get install cc65
26
    - name: Make sure it is clean
27
      run: make clean PLATFORM=c64
28
    - name: Make
29
      run: make PLATFORM=c64
30
    - name: Rename
31
      run: cp BASIC/krakow.80 krakow-c64.80
32
    - name: Upload artifact
33
      uses: actions/upload-artifact@v4
34
      with:
15 nishi 35
        name: build-c64
24 nishi 36
        path: krakow-c64.80
16 nishi 37
 
22 nishi 38
  build-a800xl:
39
    name: "Build for Atari 800 XL"
40
    runs-on: ubuntu-latest
41
 
42
    permissions:
43
      contents: write
44
 
45
    steps:
46
    - name: Checkout
47
      uses: actions/checkout@v4
48
    - name: Install packages
49
      run: sudo apt-get install cc65
50
    - name: Make sure it is clean
51
      run: make clean PLATFORM=a800xl
52
    - name: Make
53
      run: make PLATFORM=a800xl
54
    - name: Rename
55
      run: cp BASIC/krakow krakow-a800xl
56
    - name: Upload artifact
57
      uses: actions/upload-artifact@v4
58
      with:
59
        name: build-a800xl
60
        path: krakow-a800xl
61
 
23 nishi 62
  build-pet:
22 nishi 63
    name: "Build for Commodore PET"
64
    runs-on: ubuntu-latest
65
 
66
    permissions:
67
      contents: write
68
 
69
    steps:
70
    - name: Checkout
71
      uses: actions/checkout@v4
72
    - name: Install packages
73
      run: sudo apt-get install cc65
74
    - name: Make sure it is clean
75
      run: make clean PLATFORM=pet
76
    - name: Make
77
      run: make PLATFORM=pet
78
    - name: Rename
79
      run: cp BASIC/krakow.prg krakow-pet.prg
80
    - name: Upload artifact
81
      uses: actions/upload-artifact@v4
82
      with:
83
        name: build-pet
84
        path: krakow-pet.prg
85
 
19 nishi 86
  build-arduino:
87
    name: "Build for Arduino"
88
    runs-on: ubuntu-latest
89
 
90
    permissions:
91
      contents: write
92
 
93
    steps:
94
    - name: Checkout
95
      uses: actions/checkout@v4
96
    - name: Install packages
20 nishi 97
      run: sudo apt-get install gcc-avr avr-libc
19 nishi 98
    - name: Make sure it is clean
99
      run: make clean PLATFORM=arduino
100
    - name: Make
21 nishi 101
      run: make PLATFORM=arduino
19 nishi 102
    - name: Rename
103
      run: cp BASIC/krakow.hex krakow-arduino.hex
104
    - name: Upload artifact
105
      uses: actions/upload-artifact@v4
106
      with:
107
        name: build-arduino
108
        path: krakow-arduino.hex
109
 
16 nishi 110
  release:
111
    name: "Release"
112
    runs-on: ubuntu-latest
113
 
17 nishi 114
    permissions:
16 nishi 115
      contents: write
116
 
22 nishi 117
    needs: [build-c64, build-arduino, build-a800xl, build-pet]
16 nishi 118
 
119
    steps:
120
    - name: Checkout
121
      uses: actions/checkout@v4
122
    - name: Download from build-c64
123
      uses: actions/download-artifact@v4
124
      with:
125
        name: build-c64
22 nishi 126
    - name: Download from build-a800xl
127
      uses: actions/download-artifact@v4
128
      with:
129
        name: build-a800xl
130
    - name: Download from build-pet
131
      uses: actions/download-artifact@v4
132
      with:
133
        name: build-pet
19 nishi 134
    - name: Download from build-arduino
135
      uses: actions/download-artifact@v4
136
      with:
137
        name: build-arduino
18 nishi 138
    - name: Delete old release
139
      run: gh release delete "$(make get-version)" --cleanup-tag -y || true
140
      env:
141
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
142
    - name: Release
22 nishi 143
      run: gh release create -t "v$(make get-version)" "$(make get-version)" krakow-c64.80 krakow-arduino.hex krakow-a800xl krakow-pet.prg -n "Version \`$(make get-version)\` was build in this release"
18 nishi 144
      env:
145
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}